索引值 应用两种思路
实现以下效果:
● ● ● ● ●
思路1:遍历所有li,先对所有的li 上的actve 清空,然后对当前li 添加actve
for( var i=0; i<oLi.length ; i++){ oLi[i].index = i ; //对每个li添加一个自定义index属性 oLi[i].onclick = function(){ for(var i=0; i<len ;i++){ //这里i不用换j,是因为这个for循环被点击函数包起来了 oLi[i].className = ''; } oLi[this.index].className = 'active'; //this.index指的就是当前li上的值,例如<li index=‘1’></li> }
思路2:记录上一个li ,把上一个li上actve 清空,对当前li 添加actve
var j = 0; //用于记录上一个li的值 for( var i=0; i<oLi.length; i++){ oLi[i].index = i ; oLi[i].onclick = function(){ oLi[j].className = ''; oLi[this.index].className = 'active'; j = this.index; //在这里让上一个等于当前的,以便于继续循环 } }