2012-03-28 53 views
0

这位朋友你好一个号码,我试图展现数为1〜4一个八爷一个带环我的代码是设定的时间间隔()没有表现出一个

<script> 
    $(document).ready(function(){  
     setInterval(function() {    
      var i = 1; 
      for(i=0; i<=5; i++) 
      { 
       var dis = $('#fade');     
       dis.html(i);      
       i++; 
      }   
     }, 2000); 
    });  
</script> 

但其显示的结果数和停止工作plz帮助我 在此先感谢

回答

0

删除第二个document ready - 它是完全多余的。

0

我想你要实现的计数器,可以使用此代码来完成(虽然我不知道我理解正确的你):

$(document).ready(function(){ 

     var counter = 1, 
      max = 5; 

     var timer = setInterval(function() { 

      $('#fade').html(counter); 

      counter += 1;  

      // stop after <max> iterations 
      if (number > max) { 
       window.clearInterval(timer); 
      } 

     }, 2000); 
}); 
+0

感谢您的帮助。但我想打印数量只有1至5循环.. – Kamal 2012-03-28 07:32:38

+0

@ user1289808编辑的代码。 – Sirko 2012-03-28 07:35:09

1

如果你只想显示从1号码4我会建议使用setTimeout的方式如下:

var counter = 1; 
$(function() { 
    incrementCounter(); 
}); 

function incrementCounter() { 
    $('#fade').html(counter); 
    counter++; 
    if (counter < 4) { 
    setTimeout(incrementCounter, 2000); 
    } 
} 

另一种方法是如下:

$(function() { 
    for (var i = 1; i <= 4; i++) { 
    setTimeout(function() { 
     $('#fade').html(counter); 
    }, (i - 1) * 2000); 
    } 
}); 
+0

你的脚本很好,谢谢你的帮助,但我想循环 – Kamal 2012-03-28 07:48:14

0
$(document).ready(function() { 
     var counter = 1; 
     var timerId = -1; 

     timerId = setInterval(function() { 
      if(counter == 5) clearInterval(timerId); 
      $('#fade').html(counter); 

      counter += 1;  

     }, 2000); 
}); 

http://jsfiddle.net/Z5BMn/8/

0

看看下面

$(function(){  
     setInterval(function() { 
     for(i=0; i<=5; i++) 
     { 
      $('#fade').append(i);     
     }  

    }, 2000); 
    })​ 
+0

工作示例在这里http://jsfiddle.net/BMnvX/1/ – 2012-03-28 07:41:58

+0

刚才指出你想要1-5,如果你改变i = 0到i = 1,那会在一个div中循环1-5) – 2012-03-28 07:42:39

1

在这里你去:http://jsfiddle.net/eN2se/2/
您不能调用所有setInterval功能一次,他们得到直接执行。
更新:使用亚什德的例子中,我已经添加了另一行代码,这将使它重复使用的setTimeout

$(document).ready(function() { 
    var display = function(i) { 
    $('#fade').html(i); 
    if (i < 4) { 
     setTimeout(function() {display(++i)}, 1000); 
    }      
    }; 
    display(1); 
}); 
+1

这将同时执行多个时间间隔功能,它们都不会停止。我认为你至少要把'setInterval'改成'setTimeout'。 – Sirko 2012-03-28 08:37:07

+0

@Sirko你是对的,甚至没有注意到,复制粘贴的坏习惯! – jb10210 2012-03-28 08:46:10

0

var counter = 1; 
$(function() { 
    incrementCounter(); 
}); 

function incrementCounter() { 
    $('#fade').html(counter); 
    counter++; 
    if (counter <= 5) { 
    setTimeout(incrementCounter, 2000); 
    }else{ 
     counter = 1; 
     setTimeout(incrementCounter, 2000); 
    } 
}​ 

http://jsfiddle.net/BMnvX/2/

相关问题