2012-03-28 51 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/

相關問題