我希望能够关闭活动幻灯片并打开用户从按钮中选择的幻灯片。我曾想过只使用代码:

 $('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;
}

08-28 10:31