我在.js文件中的函數應該顯示從10倒數 - 0。一旦它擊中0,應該開闢第二頁。我沒有打開已寫入網頁的部分,但那不是我目前的問題。我的問題是,倒計時將顯示數字1,並沒有別的。我不確定爲什麼。倒計時功能實際上並不倒計時
這裏的倒計時功能
function startCountdown() { for (var i = 10; i >= 0; i--) { document.getElementById("countdown").value = i; } }
下面是調用它
function startAdPage() { setInterval(changeAd(), 2000); setInterval(startCountdown(), 1000); }
最後,這裏是它發送到HTML代碼的功能。一切都是通過調用
onload
方法的body標籤開始的。我知道這個部分是有效的,因爲我已經做了一些其他工作正常的東西。<div id="counter"> <p>The Central Valley Realtors home page will display in <input type="text" value="" class="countdown"/> seconds</p> </div>
1
A
回答
2
的第一個參數setInterval
是一個函數。你沒有傳遞函數,你調用函數並傳遞返回的函數,因爲函數名後面有()
。
另外,您並未等待倒計時字段的更新。 Javascript是單線程的,頁面不會更新,直到腳本返回。您需要:
function startAdPage(){
var curCounter = 10;
function startCountdown() {
document.getElementById("countdown").value = curCounter;
curCounter--;
if (curCounter == 0) {
clearInterval(countdownInterval);
}
}
setInterval(changeAd, 2000);
var countdownInterval = setInterval(startCountdown, 1000);
}
0
你的startCountdown
內環路一路狂奔到循環的結束,所以價值最終0。此外,你應該通過其中一個匿名函數或者未執行的功能setInterval
和clearInterval
沒有參數。當您在函數名稱的末尾添加()
時,您正在執行該函數。更改的<input type='text' class='countdown' />
到<input type='text' id='countdown' />
,則嘗試以下操作:
function countdown(begin, end, interval, outputElement){
var repeat = setInterval(function(){
if(outputElement.innerHTML){
outputElement.innerHTML = begin--;
}
else{
outputElement.value = begin--;
}
if(begin === end)clearInterval(repeat);
}, interval);
}
countdown(10, 0, 1000, document.getElementById('countdown'));
相關問題
- 1. 實時倒計時
- 2. JS倒計時不倒計時
- 3. 爲什麼我的計時器功能不能倒計時?
- 4. 修復倒計時倒數計時器
- 5. 倒計時 - iPhone倒數計時器
- 6. 國際象棋時鐘倒計時
- 7. 倒計時倒檔副
- 8. 連接到ajax的倒計時功能
- 9. JS倒數計時器 - 暫停功能
- 10. 倒計時功能的恢復
- 11. 如何功能化倒計時?
- 12. IE中的jQuery倒計時功能
- 13. Scanf倒計時
- 14. android倒計時
- 15. Vb.net倒計時
- 16. 秒倒計時
- 17. 倒計時器
- 18. 從倒計時
- 19. 倒計時
- 20. C#倒計時
- 21. jQuery倒計時
- 22. ReactiveCocoa倒計時
- 23. AppleScript倒計時
- 24. 倒計時計時器
- 25. Xcode倒數計時器不倒計時(NSCalender)
- 26. GreaseMonkey倒計時不工作?
- 27. 倒計時器不循環
- 28. 倒計時警告
- 29. 更新倒計時
- 30. Android ProgressBar倒計時
執行速度足夠快,您可以看到,將警告框放在循環中,您將看到它彈出預期值。 – nilobarp 2014-09-13 00:18:52