以下是我要替换的代码
$(document).ready(function() {
var startSlider = function() {
var startSlide = $(".slider li:first");
var nextSlide = $(".active").next("li");
$(".active").removeClass();
$(".inactive").removeClass();
if(nextSlide.html() == null)
{nextSlide = startSlide;}
nextSlide.addClass("active");
nextSlide.siblings().addClass("inactive");
setTimeout(startSlider, 4000);
};
setTimeout(startSlider, 100);
});
我想删除startSlider函数并使用
setTimeout( function(){
var startSlide = $(".slider li:first");
var nextSlide = $(".active").next("li");
$(".active").removeClass();
$(".inactive").removeClass();
if(nextSlide.html() == null)
{nextSlide = startSlide;}
nextSlide.addClass("active");
nextSlide.siblings().addClass("inactive");
}
, 4000 );
但它没有任何建议吗?
答案 0 :(得分:1)
使用您的第一个代码,因为它是递归函数。但是使用第二个代码,您需要使用setInterval而不是setTimeout函数,它将每4秒运行一次:
setInterval( function(){ // consider using setInterval instead of setTimeout
var startSlide = $(".slider li:first");
var nextSlide = $(".active").next("li");
$(".active").removeClass();
$(".inactive").removeClass();
if(nextSlide.html() == null)
{nextSlide = startSlide;}
nextSlide.addClass("active");
nextSlide.siblings().addClass("inactive");
}
, 4000 );