冰镇甜豆浆1
2016-02-05 00:59
for(var i=0; i<aLi.length; i++){
//给每一个导航添加一下索引
aLi[i].index=i;
//给每一个导航添加鼠标经过事件
aLi[i].onmouseover=function(){
//循环所有的导航并且清空激活样式
for(var i=0; i<aLi.length; i++){
aLi[i].className='';
}
//给鼠标所在的导航添加激活样式
this.className='active';
//循环所有的内容区域 并添加上bd的className 其实这一部的真正目的是为了去掉内容区域上的 on 样式,也就是让所有的div隐藏
for(var j=0; j<aDiv.length; j++){
aDiv[j].className = 'bd';
}
//把导航对应的索引位置的 div 显示出来,这里也就是添加index的作用,通过这个索引来找到对应的div 这里的 this 就是指上面鼠标所在的导航
aDiv[this.index].className = "bd on";
}
}
}
比如这题里面的this/.. 为什么要这么用。。能举一两个简单的别的例子吗
this就是你点的那个,this.index表示你点的那个li的序号,但是在this.index之前,你需要对每个li进行编号,
也就是li[i].index=i,简单说就是li[0].index=0,li[1].index=1,li[2].index=2.这样,this.index才能表示出来值
this表示对象本身,这里是为每个li绑定点击事件,所以当浏览器调用this时,this代表被点击的li这个对象。
this代表着当前对象自己!
JavaScript进阶篇
468868 学习 · 22582 问题
相似问题