JQuery 脚本循环错误
JQuery Script looping error
<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 递减它。但这会导致浏览器滞后并且不起作用。我知道这个剧本很疯狂。但是你能弄清楚我哪里犯了错误吗?
你的问题就在这里。
if(i == 1){
i++;
}
if(i == 2){
i--;
}
看看当 i 为 1 时,第一个语句变为 true,然后第二个语句变为 if 将被执行,所以当时 i 是 2,所以它再次减少 i 的值。所以这是导致浏览器滞后的问题。使用 else 否则如果解决这个问题。
在这里。
if(i == 1) {
i++;
}
else {
i--;
}
OR
if(i == 1) {
i++;
}
else if(i==2) {
i--;
}
两者都是相同的,将为您工作。
像下面这样使用:
if(i == 1){
i++;
}else if(i == 2){
i--;
}
您应该使用else
相关文章:
- 一个ajax循环有两个输出错误innerHTML
- 错误:Can't在从forEach循环发送标头后设置标头
- 循环的Javascript冻结浏览器,没有语法错误
- For 循环从错误的数字开始
- 无法使用JavaScript打印带有for循环的验证错误
- RxJS:在循环中处理错误.js自定义驱动程序
- 我只想在给出条件时调用一些循环.但这是错误
- 未捕获的类型错误:未定义不是函数,在中为循环创建了对象
- Bookshelf注册表插件和节点循环依赖性错误
- 精灵与身体错位,可以'在显示循环中找不到错误
- 循环遍历表中的行并获取行查找错误中的每个值
- Chrome/jQuery未捕获范围错误:超过了最大调用堆栈大小(函数循环)
- For循环以错误的顺序返回promise
- 循环的Javascript,直到出现错误
- 附加字符串时,for循环中出现Javascript[Object-Object]错误
- 错误:循环中的非对象上的 getElementsByTagName()
- 语法错误:循环程序中出现意外标记
- JavaScript NaN错误循环
- JavaScript抛出一个错误——循环中的代码不起作用
- 错误循环通过Ajax (JSON)响应