Sie müssen dazu einen directive hinzufügen.
mit nur jQuery So, dann würden Sie haben:
JS
$('#source').quicksand($('#destination li'));
HTML
<ul id="source">
<li data-id="iphone">iOS</li>
<li data-id="android">Android</li>
<li data-id="winmo">Windows Phone 7</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">iOS</li>
</ul>
mit kantig Sie tun können:
JS
yourApp.directive('jqQuicksand', function(){
var linkFn = function(scope,element,attrs){
// element here = $(this)
// bind your plugin or events (click, hover etc.) here
element.quicksand($(attrs.jqQuicksand));
}
return {
restrict:'A',
scope: {},
link: linkFn
}
});
HTML
<ul data-jq-quicksand="#destination li" id="source">
<li data-id="iphone">iOS</li>
<li data-id="android">Android</li>
<li data-id="winmo">Windows Phone 7</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">iOS</li>
</ul>
Hinweis, dies ist nicht getestet, aber sollte in Ordnung sein.
wie bei jedem anderen DOM-Manipulations-Plugin, muss es innerhalb einer eckigen Anweisung initialisiert werden. Wickeln Sie Ihren Code in '$ timeout', wenn eckle die' LI' Elemente erzeugt, zB mit 'ng-repeat' – charlietfl
@charlietfl, was? – arg20
was ist 'was'? – charlietfl