2008-09-15 78 views

回答

0

也許嘗試使用它每次蜱時間檢索下一個圖像的計時器,不幸的是我不知道任何JavaScript,所以我無法提供代碼示例

3

您應該使用計時器來連續帶來新圖像而不是無限循環。檢查setTimeout()函數。需要注意的是,你應該調用它自己的函數,讓它再次等待。從w3schools

<html> 
<head> 
<script type="text/javascript"> 
var c=0 
var t 
function timedCount() 
{ 
document.getElementById('txt').value=c; 
c=c+1; 
t=setTimeout("timedCount()",1000); 
} 
</script> 
</head> 

<body> 
<form> 
<input type="button" value="Start count!" 
onClick="timedCount()"> 
<input type="text" id="txt"> 
</form> 
</body> 

</html> 
+0

這比簡單地使用setInterval更復雜... – 2008-09-15 20:41:31

+0

您應該使用`timedCount`而不是``timedCount()「`。沒有理由你需要評估函數調用,而不是直接傳遞函數。 – 2011-09-19 13:26:36

1

採取實例,而不是使用一個無限循環的,使該保持射擊每n秒計時器 - 你會得到「永遠運行」方面沒有瀏覽器掛起。

0
function foo() { 
    alert('hi'); 
    setTimeout(foo, 5000); 
} 

然後,只需使用操作,如「的onload」開球「富」

2

下面的代碼將設置的時間間隔和從圖像源每秒的陣列設置圖像到下一個圖像。

function setImage(){ 
    var Static = arguments.callee; 
    Static.currentImage = (Static.currentImage || 0); 
    var elm = document.getElementById("imageContainer"); 
    elm.src = imageArray[Static.currentImage++]; 
} 
imageInterval = setInterval(setImage, 1000); 
0

如果它適合你的情況下,你可以繼續加載新的圖像來響應用戶交互,像this website does(只是向下滾動)。

0

只是一個正式的答案:

var i = 0; 

while (i < 1) { 
    do something... 

    if (i < 1) i = 0; 
    else i = fooling_function(i); // must return 0 
} 

我認爲沒有瀏覽器會檢測到這樣的事情。