第三行的as[i].num=i是什么意思啊,是var i=as[i].num嗎?用.index不行嗎
????? for(var i=0; i<as.length; i++){
?? ? ??? ? as[i].num = i
?? ??? ? as[i].onmouseover = function(){
?? ??? ??? ?this.style.background = '#ccc'
?? ??? ??? ?index = as[i].num-1;?? ?
?? ??? ? }
?? ??? ? as[i].onmouseout = function(){
?? ??? ??? ?this.style.background = '#fff'?? ?
?? ??? ? }
?? ??? ? as[i].onclick = function(event){
?? ??? ??? ?event = event||window.event;
?? ??? ??? ?if(event.stopPropagation){
?? ??? ??? ??? event.stopPropagation();
?? ??? ??? ?}else{
?? ??? ??? ??? event.cancelBubble = true;?? ??? ? ?
?? ??? ??? ?}
?? ??? ??? ?menu.style.display = 'none';
?? ??? ??? ?title.innerHTML = this.innerHTML;?? ?
?? ??? ? } ?
?? ?? }
2016-03-17
1、as[i].num = i,是賦值給as一個(gè)屬性,叫num,num的值=i。目的就是為了記錄mouseover時(shí)的那個(gè)as[i]的i值。你給的這個(gè)程序有點(diǎn)bug,index = as[i].num-1; ? 最好改為index=this.num。這樣就完美的將鼠標(biāo)滑過(guò)事件所在的那一項(xiàng)的i值記錄給了index(全局變量),這樣當(dāng)index在鍵盤事件中引用時(shí),就能完美的與鼠標(biāo)事件混合了。
2、不能var i=as[i].num。因?yàn)閕已經(jīng)在for語(yǔ)句中定義了。
3、用.index也可以,用.m,.xxxxxx都可以,但是這個(gè)index只是as[i]的一個(gè)屬性,不是全局變量index。