課程
/前端開發(fā)
/JavaScript
/網(wǎng)頁定位導(dǎo)航特效
代碼達(dá)不到滾動效果,哪里出問題了?
2016-05-19
源自:網(wǎng)頁定位導(dǎo)航特效 6-4
正在回答
<script?type="text/javascript"> function?getElementByClass(obj,clas){ var?all=obj.getElementsByTagName("*"); var?result=[]; for(var?i=0,length=all.length;i<length;i++){ if(all[i].className==clas){ result.push(all[i]); } } return?result; } function?hasClass(obj,clas){ return?(obj.className.search(clas)==-1)?false:true; } function?addClass(obj,clas){ if(!hasClass(obj,clas)){ obj.className+="?"+clas; } } function?deleteClass(obj,clas){ if(hasClass(obj,clas)){ obj.className.replace(clas,"?"); } } window.onload=function(){ window.onscroll=function(){ var?scrollTop=document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop; var?menu=document.getElementById("menu").getElementsByTagName("a"); var?items=getElementByClass(document.getElementById("content"),"item"); var?currentId=''; for(var?i=0,length1=items.length;i<length1;i++){ var?top=items[i].offsetTop; if(scrollTop>top-300){ currentId="#"+items[i].getAttribute("id"); } else{ break; } } if(currentId){ //為menu設(shè)置正確的樣式 for?(var?i?=?0,length2=menu.length;?i<length2;?i++)?{ //如果href等于當(dāng)前的id,則添加樣式 var?href=menu[i].getAttribute("href"); if(href==currentId){ addClass(menu[i],"current"); } //否則,刪除樣式 else{ deleteClass(menu[i],"current"); } } } } } </script>
求幫忙看下為什么我的樣式刪除不了?
星空下的小孩
看了小伙伴們的問答,終于發(fā)現(xiàn)問題所在了:
?var?top=document.documentElement?document.documentElement.scrollTop:document.body.scrollTop;
上面的運算是錯誤的,改為下面的代碼,就OK了:
?var?top=document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop;
舉報
本課程講解網(wǎng)頁定位導(dǎo)航特效,仿天貓版地狗購物網(wǎng),你值得擁有
1 回答運行不出效果
1 回答求大神幫忙看下哪里出錯了,實現(xiàn)不了滾動效果
1 回答鼠標(biāo)移動到上面時完全沒效果
1 回答js實現(xiàn)導(dǎo)航特效,為什么火狐瀏覽器可以,谷歌效果出不來呢?求問大神…………
3 回答木有效果+1
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2016-06-15
求幫忙看下為什么我的樣式刪除不了?
2016-05-19
看了小伙伴們的問答,終于發(fā)現(xiàn)問題所在了:
上面的運算是錯誤的,改為下面的代碼,就OK了: