以下代码创建动画幻灯片。我们如何将它变成一个无限循环,IE:这样它就会回到最后一个末尾的第一张幻灯片。
$(document).ready(function(){
$('.sismain a').css('opacity', 0);
var slideqnt = $('.sismain a').length;
var slidecur = 0;
var slidelay = 0;
$('.sismain a').each(function(){
$(this).delay(slidelay).animate({opacity: 1, leaveTransforms:true}, {duration:2000, queue:true});
slidelay += 6000;
$(this).delay(slidelay).animate({opacity: 0, leaveTransforms:true}, {duration:2000, queue:true});
});
});
答案 0 :(得分:0)
您可以使用Javascript的setTimeout函数创建无限循环。
了解更多here。
如果您不想暂停,只需相应地设置超时时间。
你也可以把你的每一个都放进去(真实){}
希望这有帮助。
答案 1 :(得分:0)
var interval = setInterval ( "doSomething()", 5000 );
当你想要停止时
clearInterval(interval);
setInterval是最好的方法,每5000毫秒执行一次函数
答案 2 :(得分:0)
您可以尝试以下代码。最初根据总时间调用超时,然后您可以继续以无限循环重置当前幻灯片编号。
$('.sismain a').css('opacity', 0);
var slideqnt = $('.sismain a').length;
var slidecur = 0;
function nextSlide(){
$('.sismain a').eq(slidecur).animate({opacity: 1, leaveTransforms:true}, {duration:2000, queue:true});
$('.sismain a').delay(2000).eq(slidecur).animate({opacity: 0, leaveTransforms:true}, {duration:2000, queue:true});
if(++slidecur==slideqnt){
slidecur=0;
}
setTimeout(nextSlide,6000);
}
setTimeout(nextSlide,6000);
希望这有助于您的情况:)