我认为这应该是一件容易的事,但我束手无策。
我创建了一个应用程序,可以根据延迟“setInterval”在 Titanium 中循环显示图像。
它无限期地循环图像,但我想添加一个函数,用户可以在时间延迟(循环中的迭代次数)或按下按钮时退出循环(“停止”)。
此代码用于调用一个函数,该函数从我的 mamp 服务器中提取图像并在 Titanium 中创建一个显示该图像的新窗口:
setInterval(function(){call();}, 3000);
但是当我尝试更进一步时,它不起作用。
var keepGoing;
do {
setInterval(function(){call();}, 3000);
}
while (keepGoing);
function stop(e){
return keepGoing = false;
}
函数“stop”是从我的 xml 中调用的,如下所示:
<Button id="stop" onClick="stop">stop</Button>
我什至尝试了以下方法但无济于事:
do {
setInterval(function(){call();}, 3000);
}
while (0 > 1);
这样它会循环一次然后停止工作。
如有任何想法,我们将不胜感激!
最佳答案
一旦启动setInterval
,它将进入无限循环。如果您想停止 setInterval
,只需调用 clearInterval
。
var interval;
interval = setInterval(function(){call();}, 3000);
function stop(e){
clearInterval(interval);
}
这已经完成了我的案例。
关于javascript - do while 循环在 Titanium 中无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23919361/