我一直在此工作了很長一段時間。我正在嘗試創建一個倒計時的簡單計時器。我已經使alert()工作,但不幸的是textToChange不會改變。我已經在下面複製了我的代碼的副本。任何幫助將不勝感激!謝謝。如何使用setInterval()更改文本?
<script type="text/javascript">
var timeLeft = 0;
var changingTextElement;
var changingText = new Array();
var ctr = 0;
function timeMsg(thing)
{
var length = thing.inputbox.value*1000;
var t = setTimeout("alertMsg()",length);
timeLeft = length/1000;
initChangeText();
}
function alertMsg()
{
alert("Alert!");
}
function initChangeText(){
changingTextElement = document.getElementById("textToChange");
changingText[ctr] = changingTextElement.innerHTML;
ctr++;
while(timeLeft > 0){
changingText[ctr] = timeLeft;
timeLeft--;
ctr++;
}
ctr = 0;
setInterval("changingText()",1000);
}
function changingText() {
ctr++;
if(ctr >= changingText.length){
changingTextElement.innerHTML = 0;
}
else{
changingTextElement.innerHTML = changingText[ctr];
}
}
</script>
你也可以發表您的HTML,所以我們可以驗證的ID,元素等? – WSkid 2011-05-15 08:28:14
沒有理由創建'changingText'數組(它可能會變得很大)。您可以計算出正確的值以便即時顯示... – 2011-05-15 08:31:44
@Thomas:不,changeTextElement在全局範圍內定義在腳本塊的頂部。如果添加'var',它將無法以任何方式工作。 – 2011-05-15 08:32:28