为什么声明的变量位置不一样得出的结果也不一样?在for循环外面和在for里面声明变量i
和j并初始化赋值0,结果不一样。
<html>
<head>
<meta charset="utf-8"/>
<title></title>
<style type="text/css">
*{
padding:0;
margin:0;
font-size: 14px;
list-style: none;
}
.wrap{
width:200px;
margin: 10px auto;
border: 1px solid #ccc;
}
.current{
background-color: #fff;
}
.tit{
color::#fff;
height:20px;
line-height: 20px;
margin: 0 auto;
background-color: #888;
}
.tit ul li{
width:25%;
float:left;
height:20px;
}
.a{
padding-left: 10px;
display: none;
}
.active{
padding-left: 10px;
display: block;
}
</style>
<script type="text/javascript">
window.onload=function(){
var tit=document.getElementById('tit');
var titLis=tit.getElementsByTagName('li');
var conUls=document.getElementById('con').getElementsByTagName('ul');
// var i =0;
// var j=0;
var index;
for(var i=0;i<titLis.length;i++){
titLis[i].index=i;
titLis[i].onmouseover=function(){
for(var j=0;j<titLis.length;j++){
titLis[j].className='';
conUls[j].className='a';
}
this.className="current";
conUls[this.index].className='active';
}
}
}
</script>
</head>
<body>
<div class="wrap">
<div class="tit" id="tit">
<ul>
<li class="current">遇见</li>
<li>天黑黑</li>
<li>逆光</li>
<li>绿光</li>
</ul>
</div>
<div id="con">
<ul class="active">
<li>遇见</li>
<li>天黑黑</li>
<li>逆光</li>
<li>绿光</li>
</ul>
<ul class="a">
<li>天黑黑</li>
<li>遇见</li>
<li>逆光</li>
<li>绿光</li>
</ul>
<ul class="a">
<li>逆光</li>
<li>天黑黑</li>
<li>遇见</li>
<li>绿光</li>
</ul>
<ul class="a">
<li>绿光</li>
<li>天黑黑</li>
<li>逆光</li>
<li>遇见</li>
</ul>
</div>
</div>
</body>
</html>
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。