2008-09-15 70 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 
} 

我认为没有浏览器会检测到这样的事情。