<html>
<head>
<script src="jquery.js"></script>
<script>
$(document).ready(function(){
setInterval(function(){
var i = 1;
while(i<3){
var left = $("#"+i).offset().left;
$("#"+i).css({'left':left}).animate({'left':'-10000px'},8000);
if(i == 1){
i++;
}
if(i == 2){
i--;
}
}
},2500);
});
</script>
</head>
<body>
<div id=myDivWrapper style="overflow:hidden">
<div id=1 style="right:0;width:100%;height:100%;background:url('1.jpg');position:absolute;"></div>
<div id=2 style="right:0;width:100%;height:100%;background:url('2.jpg');">
</div>
<body>
</html>
我正在尝试使用while循环创建一个JQuery图像滑块。这里我是我正在递增的整数。我不希望i为3,所以循环将停止。因此,我使用了一个决策声明来查找我是否是1增量它,如果我是2减少它。但这会导致浏览器延迟,但无法正常工作。我知道这个剧本很疯狂。但你能弄清楚我犯了哪些错误吗?
答案 0 :(得分:2)
你的问题在这里..
if(i == 1){
i++;
}
if(i == 2){
i--;
}
当我是1时,第一个语句变为真,然后第二个如果将被执行,那么在那个时候我是2,所以它再次减少i的值。所以这是导致浏览器延迟的问题。使用其他或者如果要解决这个问题。
在这里。
if(i == 1) {
i++;
}
else {
i--;
}
OR
if(i == 1) {
i++;
}
else if(i==2) {
i--;
}
两者都相同,对你有用。
答案 1 :(得分:1)
使用如下:
if(i == 1){
i++;
}else if(i == 2){
i--;
}
您应该使用else