var s=0;
for(var i=0;nn!=null&&i<nn.length;i++){//长度为10
alert(i+"test");
setInt=setTimeout((function(node){return function(){
if(s==i){
alert(s+"s"+i+"i");//这里的s和i为什么弹出10次10啊,怎么不是从0开始到10
var node=new Node();
node=mixIn(nn[i],node);
node.type=typeToNum(node.type);
node.position=new Position(node.position.top,node.position.left);
nodes[node.index]=node;
createNode(node);
}else{
clearTimeout(setInt);
}
}})(node),3000);
s=s+1;
}谁会指点一下
for(var i=0;nn!=null&&i<nn.length;i++){//长度为10
alert(i+"test");
setInt=setTimeout((function(node){return function(){
if(s==i){
alert(s+"s"+i+"i");//这里的s和i为什么弹出10次10啊,怎么不是从0开始到10
var node=new Node();
node=mixIn(nn[i],node);
node.type=typeToNum(node.type);
node.position=new Position(node.position.top,node.position.left);
nodes[node.index]=node;
createNode(node);
}else{
clearTimeout(setInt);
}
}})(node),3000);
s=s+1;
}谁会指点一下
解决方案 »
- easyUI 之 linkbutton 设置为不可用 ,还是可用 ~
- js如何循环获取表格中文本框的值
- 下载一个网页,上面能看到链接,但是打开源代码,找不到链接地址,有script,但是又不是在web上的script,不知道怎么回事
- 关于onblure事件上,急啊!
- jquery table问题
- FireFox 已经到1.5版 了 中文的怎么才1.0
- ★★,谁帮我写个function,控制用户输入只能为键盘上的字母数字字符,不可为中文★★
- 关于VBScript的一个小问题,快来抢分呀!!!
- 求助
- 正则表达式怎么取时间09:54中的分钟?
- 请教一个关于jquery的问题,
- extjs4 ajax传送用post问题
接着第二次循环,以此类推,当循环完10次后,s=10,i=10,还没有经过3秒,故等到三秒中后alert(‘10s10i’)才第一次打印,接着很快就打印其余9次了。
for (var i = 0; i < 10; i++) {
(function(){
var index = i;
setInt = setTimeout(function(){
if (s === index) {
alert("success! i: " + index);
}
else {
alert("error! i: " + index);
clearTimeout(setInt);
}
}, 3000);
})();
}
for (var i = 0; i < 10; i++) {//长度为10
setInt = setTimeout((function(){
var _i = i;
return function(){
if (s == _i) {
alert("s: " + s + ", i: " + _i);//这里的s和i为什么弹出10次10啊,怎么不是从0开始到10
s++;
}
else {
clearTimeout(setInt);
}
}
})(), 3000);
}
var a = 10;
var b = 0;function test(){
b++;
if(b < a){
setTimeout("test()",5000);
}
alert(b);
}test();
要实现这种需求,从没有在FOR里用setTimeout的,都是把FOR去掉,把setTimeout作为FOR的功能,在setTimeout里面进行计数。
for(var i=0;i<10;i++){
(function(i){
setTimeout(function(){
alert(i)
},i*3000)
})(i)};这个意思?