我的要求是每隔几秒我的div标签向左滑动(margin-left)。
我认为代码是自我解释的。
我有什么遗失的东西吗?
是否因为if语句数量众多?
或者是否有更简单,更智能的功能?
setInterval(function(){
if ($(".carousel").css("margin-left")!='0%'){
$(".carousel").css("margin-left", "-100%");
}
if ($(".carousel").css("margin-left")!='-100%'){
$(".carousel").css("margin-left", "-200%");
}
if ($(".carousel").css("margin-left")!='-200%'){
$(".carousel").css("margin-left", "-300%");
}
if ($(".carousel").css("margin-left")!='-300%'){
$(".carousel").css("margin-left", "-400%");
}
if ($(".carousel").css("margin-left")!='-400%'){
$(".carousel").css("margin-left", "-500%");
}
if ($(".carousel").css("margin-left")!='-500%'){
$(".carousel").css("margin-left", "-600%");
}
if ($(".carousel").css("margin-left")!='-600%'){
$(".carousel").css("margin-left", "-700%");
}
if ($(".carousel").css("margin-left")!='-700%'){
$(".carousel").css("margin-left", "0%");
}
}, 2000);
答案 0 :(得分:0)
我怀疑您使用的是!=
而不是预期的==
。
此外,如果您进行此更改,则必须正确链接if
语句以使用else if
,否则,从0%
更改为-100%
}将触发-100%
到-200%
的if语句,依此类推。
另一方面,更简单的功能可能如下:
由于以下评论主题,此内容已更新。
function setCarouselMargin(marginLeft) {
$('.carousel').css('margin-left', marginLeft + '%');
marginLeft -= 100;
if (marginLeft < -700) {
marginLeft = 0;
}
setTimeout(function () { setCarouselMargin(marginLeft) }, 2000);
}
$(function() {
setCarouselMargin(0);
});