我创建了一个幻灯片小部件,使用了与window.setInterval一起使用的jQuery.UI小部件。 我试图在同一页面中有多个幻灯片,我得到以下结果:
如果我尝试使用图片为我的两个div调用相同的小部件:
$('#div1').slideshow();
$('#div2').slideshow();
它们都不起作用;
我克隆了我的小部件的定义并命名为slideshowsmall
$('#div1').slideshow();
$('#div2').slideshowsmall();
只有第二个有效。
我的小部件代码在这个pastebin中,但我真的认为问题,至少在第二次尝试中,与setInterval
有关由于
答案 0 :(得分:3)
多个setInterval()
本身不会导致问题。它更可能与它正在执行的代码有关(并且你的小部件代码非英语使得很难分析和理解)。
setInterval()
返回“interval”的整数ID,以便稍后通过传递此ID来clearInterval(...)
。此方案完全针对多间隔使用实施。有关MDC
答案 1 :(得分:1)
根据您的窗口小部件代码,当 setInterval 调用ChangeLeft / Right ..方法时, slideshowdiv 变量始终指向调用slideShow的最后一个元素。这样做的原因是你调用不可建议的变更方法。
请使用以下代码调用您的更改方法,它应该可以解决您的问题。您会注意到我正在传递 slideshowdiv 对象来更改方法。
this.options.timer = window.setInterval(function () {
ChangeImageLeft(velocidade, slideshowdiv);
}, intervalo);
如果您需要更多信息,请与我们联系。