使用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/

10-11 12:41