問題:
jquery對數組進行循環,如果要求每次循環的時候暫停2秒鐘,在使用jQuery的.earch循環的時候,無論怎麼設置,都不會暫停。
setTimeout也只是在第一次執行的時候暫停。
原因猜測:
js開始執行多線程?
改進:
改為setInterval來控制循環,達到數組最大值的時候,clearInterval取消循環。
以下是jQuery代碼:
<script type="text/javascript">
var arr = new Array();
var arrk = 0;
jQuery(function() {
arr[0] = "aaa.";
arr[1] = "bbb.";
arr[2] = "ccc.";
mytime = setInterval(function(){showme()}, 2000);
function showme(){
alert(arr[arrk]);
arrk += 1;
if(arrk>2) clearInterval(mytime);
}
});
</script>
以下是Javascript代碼:
<script type="text/javascript">
var arr = new Array();
var arrk = 0;
arr[0] = "aaa.";
arr[1] = "bbb.";
arr[2] = "ccc.";
mytime = setInterval(function () { showme() }, 2000);
function showme() {
alert(arr[arrk]);
arrk += 1;
if (arrk > 2) clearInterval(mytime);
}
</script>