<html>
<style>
/* reset */
*{margin:0;padding:0;border:0;}
img{display:block;}
/* 布局 */
.container{width:400px;height:300px;position:relative;}
img{width:100%;position:absolute;top:0;}
/* 图像透明度&zindex */
img:nth-child(n){filter:alpha(opacity=1);opacity: 1;z-index:999;}
</style>
<script>
var t = function(){
var i = 0;
while(i<6){
i++;
var tom = function (){document.getElementById('x'+i).style.zIndex=9999;
setTimeout(tom,3000);
};
};
t();
</script>
<div class='container' id='id_container'>
<img id='x1' src='image/1.png'>
<img id='x2' src='image/2.png'>
<img id='x3' src='image/3.png'>
<img id='x4' src='image/4.png'>
<img id='x5' src='image/5.png'>
</div>
</html>
为什么一加上while循环,getElementById就找不到id了?
而且,我把定时器放在while里面,不是应该执行完setTimeout(tom,3000);才进入下一轮循环吗?
while(i<6){
i++;
var tom = function (){document.getElementById('x'+i).style.zIndex=9999;
setTimeout(tom,3000);
};
在while外读下i,你会发现是6.你这个定时器相当于在外面获取i,建议题主了解下js作用域