我的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', 2000);
});


而我的HTML:

<div id="a" style="background:blue;float:left;"></div>
<div id="b" style="background:red;float:left;"></div>


谢谢!

最佳答案

您在vari = 0之前缺少interval关键字。这将导致函数$.xpto的所有实例共享这些变量。此外,每次调用i时,$.xpto变量都会重置为零。

根据您函数的逻辑,这应该发生:

a 1
b 2
a 3
a 4
a 5
b 6
a 7
a 8
b 9
...


如果这与预期不符,请提及您的意愿,我将进行介绍。

关于javascript - jQuery函数不适用于两个元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7692981/

10-11 15:08