我尝试使用以下代码定期更改标签的文本:
function sleep(milliSeconds) {
var startTime = new Date().getTime();
while (new Date().getTime() < startTime + milliSeconds);
}
function showMap() {
var str = document.getElementById("lbPoints").firstChild.nodeValue;
var lbl = document.getElementById("my");
var strs = str.split("-");
var millisecondsToWait = 500;
for (var i = 0; i < strs.length-1; i++) {
lbl.innerHTML = strs[i];
sleep(500);
}
}
我的“ str”和“ strs”是正确的。代码可以工作,但是要等待5秒钟,然后将strs中的最后一个字符串打印到屏幕上,然后再执行其他操作。我该怎么做才能定期更改它?
最佳答案
那不是你睡觉的方式。用任何语言重复测试都是正确的
直到约会
改为这样做:
function showMap() {
var str = document.getElementById("lbPoints").firstChild.nodeValue;
var lbl = document.getElementById("my");
var strs = str.split("-");
var millisecondsToWait = 500;
var i=0;
var interval = setInterval(function(){
if (i==strs.length-2) clearInterval(interval);
lbl.innerHTML = strs[i++];
}, millisecondsToWait);
}
Demonstration
这将使用setInterval重复调用一个函数,并在数组末尾使用clearInterval停止调用该函数。