3

这个演示看起来很简单,当我点击按钮时它只是动画一次。问题是:如何将“destination”再次更改为“source”?(应该有两组项目)

Javascript:

$('#source').quicksand( $('#destination li') );

HTML:

<ul id="source">
    <li data-id="iphone">iPhone OS</li>
    <li data-id="android">Android</li>
    <li data-id="winmo">Windows Mobile</li>
</ul>

<ul id="destination" class="hidden">
    <li data-id="macosx">Mac OS X</li>
    <li data-id="macos9">Mac OS 9</li>
    <li data-id="iphone">iPhone OS</li>
</ul>
4

1 回答 1

0

这是您正在寻找的神奇代码:

function doQuicksand(){

var newDestination = $('#source').clone();
$('#source').quicksand( $('#destination li') , function(){

$('#source').attr("id","tempSource");
$('#destination').replaceWith(newDestination);
$('#source').attr("id","destination").css("display","none");
$('#tempSource').attr("id","source");

});

}

基本上是因为流沙似乎用目标替换了源,所以在你通常运行它之后,源和目标都具有相同的内容。这段代码所做的是事先复制源代码,然后在流沙完成它的工作后将其注入回去。

于 2013-01-23T16:38:51.480 回答