我有一个使用jQuery gridrotator效果的图库。我想点击按钮“启用效果”时启用效果。
<button id="build">Enable Effect</button>
<script type="text/javascript">
$("button#build").click(function(){
$('#ri-grid').gridrotator();
});
</script>
并且enablig效果正常(请参阅此test)。要禁用此效果,此插件没有destroy
方法。所以我尝试return
到false
这个功能但是没有用。
<button id="destroy">Disable Effect</button>
<script type="text/javascript">
$("button#destroy").click(function(){
$('#ri-grid').gridrotator(function(){
return false;
});
});
</script>
如何禁用或销毁此功能?
非常感谢你的帮助! :)
答案 0 :(得分:6)
I made and tested a good workaround not the perfect solution but it worked. simply remove the item from Dom tree then reload it
{form: form}
答案 1 :(得分:1)
也许有更好的方法,但这个黑客似乎有效:
$('#ri-grid').data('gridrotator').$items.length = 0;
答案 2 :(得分:1)
gridrotator插件似乎没有内置禁用功能。
使用.remove()将删除与删除的元素关联的所有绑定事件和jQuery数据。
尝试删除元素并将其插回原位。
$("button#destroy").click(function(){
// remove plugin class so it doesn't rebind
$("#ri-grid").removeClass("gridrotator");
var $prev = $("#ri-grid").prev();
if($prev.length) {
// put back between siblings if necessary
$prev.append($("#ri-grid").remove());
} else {
// or just re-add to its parent
var $parent = $("#ri-grid").parent();
$parent.prepend($("#ri-grid").remove());
}
});
答案 3 :(得分:0)
希望这会让你微笑 -
<button id="destroy">Disable Effect</button>
<script type="text/javascript">
$("button#destroy").click(function(){
$('#ri-grid').gridrotator().stop();
});
</script>
了解更多.stop()函数 - http://api.jquery.com/stop/
答案 4 :(得分:0)
<button id="destroy">Disable Effect</button>
<script type="text/javascript">
$("button#destroy").click(function(){
$('#ri-grid').stop();
});
</script>