我有一个幻灯片插件,工作正常。独自......
我在一个页面上有3个不同的按钮。他们都调用相同的jQuery幻灯片插件并将带有不同图像的幻灯片加载到同一个分隔符中(id =“slideshow”)
在我使用新图片加载新幻灯片之前,我每次都会从#slideshow中删除幻灯片及其元素。
这一切都会正常工作,除了我点击按钮的次数越多,整个事情就会越来越多,因为插件每次都会被打开,插件会混淆哪些图像显示出来。
我的问题是。如何完全杀死正在运行的插件,以便新的插件可以从头开始加载。我尝试了empty(),die(),remove(),detach()API而没有成功。
还有其他方法吗?
感谢。
答案 0 :(得分:3)
不幸的是,如果插件本身不支持,则没有通用的方法来破坏元素上的插件。您可能必须删除实际调用该插件的元素并再次创建它:
var oldDiv = $('#slideshow');
var parent = oldDiv.parent();
oldDiv.remove();
parent.append($('<div>').attr('id', 'slideshow'));
// Initialize slideshow here again
// Untested but shorter way:
$('#slideshow').replaceWith($('<div>').attr('id', 'slideshow'));
答案 1 :(得分:0)
这一切都取决于插件。此插件是否支持页面上的多个幻灯片?如果是这样,那么您可以使用新元素替换#slideshow
本身,而不是删除#slideshow
的内容。