第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

有什么問題?

? function getByClassName(obj,cls){
??????? var elements=document.getElementsByTagName('*');
??????? var result=[];
??????? for(var i=0;i<elements.length;i++){
??????????? if(elements[i].className==cls){
??????????????? result.push(elements[i]);
??????????? }
??????? }
??????? return result;
??? }

??? function hasClass(obj,cls){
??????? return obj.className.match(new RegExp("(\\s|^)"+cls+"(\\s|$)"));
??? }

??? function removeClass(obj,cls){
??????? if(hasClass(obj,cls)){
??????????? var reg=new RegExp("(\\s|^)"+cls+"(\\s|$)");
??????????? obj.className=obj.className.replace(reg,'');
??????? }
??? }

??? function addClass(obj,cls){
??????? if(!hasClass(obj,cls)){
??????????? obj.className+=' '+cls;
??????? }
??? }

??? window.onload=function(){
??????? window.onscroll=function(){
??????????? var top=document.documentElement?document.documentElement.scrollTop:document.body.scrollTop;
??????????? var menus=document.getElementById('menu').getElementsByTagName('a');
??????????? var items=getByClassName(document.getElementById('content'),'item');
??????????? var currentId='';
??????????? for(var i=0;i<items.length;i++){
??????????????? var oitem=items[i];
??????????????? var oitemTop=oitem.offsetTop;
??????????????? console.log(oitem.offsetTop);
??????????????? if(top>oitemTop-200){
??????????????????? currentId=oitem.id;
??????????????? }else{
??????????????????? break;
??????????????? }
??????????? }
??????????? if(currentId){
??????????????? for(var j=0;j<menus.length;j++){
??????????????????? var omenu=menus[j];
??????????????????? var ohref=omenu.href.split('#');
??????????????????? if(ohref[ohref.length-1]!=currentId){
??????????????????????? removeClass(omenu,'current');
??????????????????? }else{
??????????????????????? addClass(omenu,'current');
??????????????????? }
??????????????? }
??????????? }
??????? }
??? }

?

正在回答

1 回答

1,getByClassName 里面的??var elements=document.getElementsByTagName('*');應(yīng)該為var elements=obj.getElementsByTagName('*');

2,var top=document.documentElement?document.documentElement.scrollTop:document.body.scrollTop;改成var top=document.documentElement.scrollTop||document.body.scrollTop;

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

LanceChou 提問者

第二個為什么這樣改,2種有什么區(qū)別?
2016-11-16 回復(fù) 有任何疑惑可以回復(fù)我~
#2

幕布斯7328391 回復(fù) LanceChou 提問者

你試著輸出document.documentElement.scrollTop的值,發(fā)現(xiàn)不管怎么滾動值都為0。第二種,當(dāng)document.documentElement.scrollTop獲取到的值為0時,因為是或運算,值為0還會繼續(xù)去計算document.body.scrollTop的值。
2016-11-16 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

有什么問題?

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號