我正在使用此腳本替換頁面上的某些文本。從循環中停止javascript
function initChangeText() {
var time = 2;
setInterval('changeText();', time * 1000);
}
function changeText() {
var divs_ = document.getElementsByTagName("div")
for (var i = 0; i < divs_.length; i++)
if (divs_[i].className == "change")
changeULText(divs_[i]);
}
function changeULText(obj) {
var ul = obj.getElementsByTagName("ul")[0];
var li = obj.getElementsByTagName("li");
for (var i = 0; i < li.length; i++) {
if (li[i].className == "show") {
li[i].className = "";
li[(i + 1) % li.length].className = "show";
return;
}
}
}
window.onload = initChangeText;
問題是這個腳本是循環它自己。我不希望它。我希望它執行一次然後停止。
我該怎麼做?
聽起來像你應該使用'setTimeout',而不是'setInterval' –
你應該避免將一個'string'值'setTimeout'或'setInterval'功能,如解釋[HTTP:/ /stackoverflow.com/a/5801700/6832715](http://stackoverflow.com/a/5801700/6832715) –