關于 divs[this.value].style.display='block';的問題
function $(id){
? ?return typeof id==='string'?document.getElementById(id):id;
}
window.onload=function(){
? ?//獲取鼠標滑過或點擊的標簽和要切換內容的元素
? ?var titles=$('notice-tit').getElementsByTagName('li');
? ?var divs=$('notice-con').getElementsByTagName('div');
? ?if(titles.length!=divs.length)
? ? ? ?return;
? ?//遍歷titles下所有li
? ?for(var i=0;i<titles.length;i++){
? ? ? ?titles[i].value=i;
? ? ? ?titles[i].onmouseover=function(){
? ? ? ? ? ?for(var j=0;j<titles.length;j++){
? ? ? ? ? ? ? ?titles[j].className='';
? ? ? ? ? ? ? ?divs[j].style.display='none';
? ? ? ? ? ?}
? ? ? ? ? ?this.className='select';
? ? ? ? ? ?divs[this.value].style.display='block';
? ? ? ?}
? ?}
};
這里最后一行divs[this.value].style.dispaly='block'和divs[i].style.display='block'為什么是不相同的?后面一個在瀏覽器上沒反應,還有就是
titles[i].value/id/type都可以進行,那為什么titles[i].index不行???
2015-11-04
首先要知道這個this是什么 ? 在onmouseover 事件里 ?this就是指當前鼠標所處的元素。this.value就是一個固定的值,如果用i的話就是所有的了,在循環里i的取值是從0到titles.length的。就相把所有的title的style.display='block';
2015-11-04
你說的大概懂了,那個titles【i】.value/type/id都可以,為什么titles【i】.index不行呢?