最新回答 / stone310
setInterval里面函数执行的时候,for循环已经结束,j已经是childnodes.length,所以childnodes[j]是undefined;而之前保存的currentnode,是保存了最后一个childnodes,如果你的li下面是一个ul那就还好,如果有很多ul,那只有最后一个ul会有效果;
2016-05-08
最新回答 / 八月星辰
<...图片...> 这样写宽度就不会的变大。 原因: var This= this;//这里This和this都代表了"aA"这个对象 if(this.style.wdith&)//=160) // 在这里this代表的是每个遍历到的"i"对象 if(This.offset...
2016-04-28
最赞回答 / HackerX
1、在Javascript中,this关键字永远都指向函数(方法)的所有者,在这题就是代表当前的<a>标签。2、this.time里的time是自定义属性。在这题this.time=setInterval(function(){},30)就是代表给this定义一个time属性,并赋予setInterval(定时器)的功能建议这门课最后几节课先放一放,先去学JS基础,学完再回来看,就会廓然开朗了。两星期前的我也是看不懂这题
2016-04-28
最赞回答 / 追逐奔跑
代表你现在所触发的元素。例如: for(var i=0; i<aLi.length; i++){ aLi[i].onmouseover=function(){ //鼠标经过一级菜单,二级菜单动画下拉显示出来 this.getElementsByTagName("ul")[0].style.overflow="visible"; 比如这里面的this表示的就是aLi[i],如果遍历第i个li,此时的this就是第i个li 。
2016-04-26
已采纳回答 / Dosin
oSubNav就是this.getElementsByTagName('ul')[0],oSubNav是遍历所有li,如果当前li下有ul,即当前的li是一级菜单,才继续执行后面的逻辑。为什么要把后面的计时器绑在this上呢?因为每个this也就是每个一级菜单有着一个共同的计时器。假设你迅速的进入、移出,再移入某个一级菜单,因为使用同一个定时器,移出时会清空移入的定时器,移入时清空移出的定时器,二级菜单不会卡壳。如果改成一个普通的变量timer,timer的作用域仅限于该次函数内部调用,移入和移出使用了不...
2016-04-25
已采纳回答 / hhhs1s1s
把this保存在一个变量This里,This叫什么都行a,b,c,d,.......开始的this是onmouseover那个对象,当把这个对象保存在一个变量里,然后在对这个变量进行各种处理,处理的都是最开始的this对象
2016-04-25