Javascript jQuery函数don';我不能使用两种元素
我的jQuery脚本不会按升序返回数字 jQueryJavascript jQuery函数don';我不能使用两种元素,javascript,jquery,setinterval,Javascript,Jquery,Setinterval,我的jQuery脚本不会按升序返回数字 jQuery $(document).ready(function() { $.xpto = function(dom, speed) { i = 0; interval = setInterval(function() { i++; $(dom).append(i + '<br>'); }, speed); }; $.xpto('#a', 1000); $.xpto('#b',
$(document).ready(function() {
$.xpto = function(dom, speed) {
i = 0;
interval = setInterval(function() {
i++;
$(dom).append(i + '<br>');
}, speed);
};
$.xpto('#a', 1000);
$.xpto('#b', 2000);
});
$(文档).ready(函数(){
$.xpto=函数(dom、速度){
i=0;
间隔=设置间隔(函数(){
i++;
$(dom).append(i+'
');
},速度);
};
$.xpto('a',1000);
$.xpto('b',2000年);
});
和我的HTML:
<div id="a" style="background:blue;float:left;"></div>
<div id="b" style="background:red;float:left;"></div>
谢谢 您在
i=0
和interval
之前缺少var
关键字。这会导致函数$.xpto
的所有实例共享这些变量。此外,i
变量在每次调用$.xpto
时重置为零
根据函数的逻辑,应该发生以下情况:
a 1
b 2
a 3
a 4
a 5
b 6
a 7
a 8
b 9
...
如果这不是预期的,请说明您的愿望,我会查看一下。您缺少
I=0
和interval
之前的var
关键字。这会导致函数$.xpto
的所有实例共享这些变量。此外,i
变量在每次调用$.xpto
时重置为零
根据函数的逻辑,应该发生以下情况:
a 1
b 2
a 3
a 4
a 5
b 6
a 7
a 8
b 9
...
如果这不是预期的,请说出您的愿望,我会看一看。试试这个:-
$(文档).ready(函数(){
$.xpto=函数(dom、速度){
var i=0;
间隔=设置间隔(函数(){
i++;
$(dom).append(i+'
');
},速度);
};
$.xpto('a',1000);
$.xpto('b',2000年);
});
如果没有var
关键字,变量i不会在闭包中显式声明,而是在对$的两个调用中重复使用。xpto
请尝试以下操作:-
$(文档).ready(函数(){
$.xpto=函数(dom、速度){
var i=0;
间隔=设置间隔(函数(){
i++;
$(dom).append(i+'
');
},速度);
};
$.xpto('a',1000);
$.xpto('b',2000年);
});
如果没有
var
关键字,变量i不会在闭包中显式声明,而是在调用$.xpto
的过程中被重用。如果您试图为每一行指定自己的count变量,那么在定义i之前必须使用var关键字
如果您试图为每一行指定自己的计数变量,那么在定义i之前必须使用var关键字
你到底想做什么?你到底想做什么?