我想是这样的(新闻股票型功能):如何使用的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) –