使用jQuery进行实验,并尝试制作一个小型幻灯片,该幻灯片可以旋转三个图像。这是我的HTML:
<div id="slideShow">
<img src="images/slides/slide1.jpg" width="520" height="230" />
<img src="images/slides/slide2.jpg" width="520" height="230" />
<img src="images/slides/slide3.jpg" width="520" height="230" />
</div>
这是脚本:
$(function ()
{
var $slides = $('#slideShow img').hide(),
slideIndex = 0;
slideTransition = function ()
{
slideIndex++;
(slideIndex == $slides.length) ? slideIndex = 0: null;
$slides.eq(slideIndex).fadeIn(3000);
$slides.eq(slideIndex).fadeOut(3000,slideTransition);
}
$slides.eq(0).fadeIn(3000);
$slides.eq(0).fadeOut(3000, slideTransition);
});
这实际上可以很好地工作,但是我的直觉告诉我进行无限递归是一件坏事。关于如何做得更好的任何建议?
最佳答案
您在做什么不是递归。动画开始时,您的 call 返回。然后,计时器事件处理程序调用您的方法。您的解决方案很好。
关于javascript - 在jQuery中使用回调函数进行无限递归,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5113640/