Javascript setTimeout在IE中执行得很快

Javascript setTimeout在IE中执行得很快,javascript,internet-explorer,firefox,settimeout,setinterval,Javascript,Internet Explorer,Firefox,Settimeout,Setinterval,我正在尝试数字计数器动画来显示元素的值,setTimeout()在firefox中作为指定的时间工作,但由于某种原因,在IE中它会被快速调用 下面是我的代码 $('document').ready(function() { var i=1,data=10; my_int=setInterval( function () { if(i<=data) $('p').text(i++); else $(

我正在尝试数字计数器动画来显示元素的值,setTimeout()在
firefox
中作为指定的时间工作,但由于某种原因,在
IE
中它会被快速调用

下面是我的代码

$('document').ready(function() {
  var i=1,data=10;
  my_int=setInterval(
     function () { 
        if(i<=data)
          $('p').text(i++);
        else
          $('body').append("overflow"); }
     ,64);
setTimeout(function() { $('body').append("done");clearInterval(my_int); },64*data);
});
$('document').ready(函数(){
变量i=1,数据=10;
my_int=setInterval(
函数(){

如果(i我猜这是一种竞赛条件,并建议这可能是实现同样目标的更好方法:

$('document').ready(function() {
    var i = 1, data = 10;
    my_int = setInterval(function () {
        if (i <= data) {
            $('p').text(i++);
        }
        else {
            $('body').append("overflow").append("done");
            clearInterval(my_int);
        }
    }, 64);
});
$('document').ready(函数(){
变量i=1,数据=10;
my_int=setInterval(函数(){

如果(我把代码放在你的问题中。@epascarello..done..added code为什么-1用于这个问题..因此我不能问任何其他问题..完美..答案最好是关于比赛条件的解释..谢谢@Tom..:)只是出于好奇,不会有同样的比赛条件问题。。