我希望能够关闭活动幻灯片并打开用户从按钮中选择的幻灯片。我曾想过只使用代码:
$('div.nivoSlider:not(#c' + id + ')').data('nivoslider').stop();
一个声明,关闭所有滑块。
或使用:
$('#c1').data('nivoslider').stop();
$('#c2').data('nivoslider').stop();
$('#c3').data('nivoslider').stop();
问题是,它仅在实际运行的滑块上起作用。
然后在尝试停止甚至不运行的滑块时导致错误。
我猜会生成错误,但我什至不知道在哪里查找。
我想知道是否有任何方法知道哪个滑块正在运行。然后,我可以运行适当的语句。
最佳答案
仅当滑块尚未初始化时,$('#c1').data('nivoslider').stop();
可能会导致错误。
因此,如果页面加载时有一些活动的滑块,则必须存储其ID,然后使用类似以下内容的代码:
var runningSlider = 1; /* On page load/slider init */
changeSlider(newID) {
$('#c' + runningSlider).data('nivoslider').stop();
$('#c' + newID).nivoSlider();
runningSlider = newID;
}