如何杀死/重置正在运行的jquery插件?

我有一个幻灯片插件,工作正常。 单独…

我在一个页面上有3个不同的按钮。 他们都调用相同的jQuery幻灯片插件并将带有不同图像的幻灯片加载到同一个分隔符中(id =“slideshow”)

在我使用新图片加载新幻灯片之前,我每次都会从#slideshow中删除幻灯片及其元素。

它会一切正常,但是我点击按钮的次数越多,整个事情就会越来越多,因为插件每次都会被打开,插件会混淆哪些图像显示出来。

我的问题是。 我怎样才能完全杀死正在运行的插件,以便新的插件可以从头开始加载。 我尝试了empty(),die(),remove(),detach()API而没有成功。

还有别的办法吗?

谢谢。

http://muttley.freewebspace.com/slideshow/

不幸的是,如果插件本身不支持它,则没有通用的方法来破坏元素上的插件。 您可能必须删除实际调用该插件的元素并再次创建它:

var oldDiv = $('#slideshow'); var parent = oldDiv.parent(); oldDiv.remove(); parent.append($('
').attr('id', 'slideshow')); // Initialize slideshow here again // Untested but shorter way: $('#slideshow').replaceWith($('
').attr('id', 'slideshow'));

这一切都取决于插件。 此插件是否支持页面上的多个幻灯片? 如果是这样的话,不是删除#slideshow的内容,也许它会更好地用你用新元素替换#slideshow本身。