我想是這樣的(新聞股票型功能):如何使用的setTimeout在爲...循環
- 從UL標籤
- 環獲得李的名單通過所有李時珍和獲取文本
- 顯示在通過火狐的console.log()
- 獲得下Li和重複,直到所有李時珍已經顯示
這是我們的目標控制檯文本,但setTimeout沒有運行,因爲我認爲它會。只顯示最後一次迭代(「後四次」)。那(「郵政四」)連續顯示四次。
<body>
<ul id="post_list">
<li>Post One</li>
<li>Post Two</li>
<li>Post Three</li>
<li>Post Four</li>
</ul>
<script type="text/javascript">
var ul = document.getElementById('post_list');
var li = ul.getElementsByTagName('li');
for(var x=0; x < li.length; x++){
var li_text = li[x].childNodes[0].nodeValue;
setTimeout(function(){showText(li_text)}, 1000);
}
function showText(text) {
console.log(text);
}
</script>
</body>
經典功能 - 在 - 一個循環的問題。這個問題一遍又一遍地被詢問...... –
檢查右列的「相關」列表(與輸入問題標題時的列表基本相同,您看到了嗎?)。 – BalusC
可能的重複[JavaScript關閉如何工作?](http://stackoverflow.com/questions/111102/how-do-javascript-closures-work) –