我正在做一个噩梦,试图让一些报价延迟循环。我创建了以下代码:
function loopquotes(){
var items = $('.comment').size();
var randomNum = Math.floor(Math.random()*items+1);
$(".comment:nth-child("+randomNum+")").fadeIn('slow').delay(5000);
$(".comment:nth-child("+randomNum+")").fadeOut('medium');
}
这种延迟很好地消失了。但是,循环保持循环而不使用延迟,我最终在页面上加载了大量引号。任何人都可以帮我正确地循环这个,这样只有在旧的报价淡出之后才会加载新报价。
非常感谢
大卫
答案 0 :(得分:2)
你可以再次调用该函数作为回调,如下所示:
function LoopQuotes(){
var comments = $('.comment'),
rand = Math.floor(Math.random()*comments.length+1);
comments.eq(rand).fadeIn('slow').delay(5000).fadeOut('medium', LoopQuotes);
}
然后在页面加载时调用一次,例如通过document.ready
调用,如下所示:
$(LoopQuotes);
它的作用是淡化引号,延迟5000ms,淡出,然后当.fadeOut()
完成时,再次调用该函数来选择/显示下一个引用。