2

我对jquery有点陌生,我设法编写了一个淡入淡出两张图片的小动画。

我现在的问题是,在它完成循环之后,它就停止了。当它到达终点时,我需要它从头开始。它应该继续。

这是代码

$(document).ready(function() {
    $('img.banner1').fadeOut(5000);
    $('img.banner2').delay(1000).fadeIn(5000);
    $('img.banner2').delay(1000).fadeOut(5000);
    $('img.banner1').fadeIn(5000).delay(1000);
});
4

2 回答 2

6

这段代码将在启动最终淡入后的 1000 毫秒延迟后重新启动函数。不过,您可能需要更长的延迟,因为您需要 5000 毫秒来淡入该横幅......

function animateBanners() {
    $('img.banner1').fadeOut(5000);
    $('img.banner2').delay(1000).fadeIn(5000);
    $('img.banner2').delay(1000).fadeOut(5000);
    $('img.banner1').fadeIn(5000).delay(1000).queue(animateBanners);
}

$(document).ready(function() {
    animateBanners();
});
于 2012-12-20T18:36:24.327 回答
0

您可以将其移至函数并使用 setInterval 调用。

function AnimateBanners() {
    $('img.banner1').fadeOut(5000);
    $('img.banner2').delay(1000).fadeIn(5000);
    $('img.banner2').delay(1000).fadeOut(5000);
    $('img.banner1').fadeIn(5000).delay(1000);
}

$(document).ready(function() {
    setInterval(AnimateBanners, 10000); //Will run every 10 seconds
});

​</p>

于 2012-12-20T18:38:26.673 回答