課程
/前端開發(fā)
/HTML/CSS
/回到頂部效果
我試了一下,放到外面去就不行了,這是咋么回事
2015-11-13
源自:回到頂部效果 4-2
正在回答
首先,osTop是當(dāng)前滾動條距離頁面頂部的距離,其次是osTop這個值被window.scroll監(jiān)聽,也就是每次觸發(fā)滾動條事件都會記錄一次osTop的值,并且這個值每次還要減去一個ispeed~~(重點就是,將osTop放在window.scroll里面 就是為了每次觸發(fā)滾動條事件 就記錄一次當(dāng)前距離頁面頂部的值)
comlejade 提問者
試想,如果你把它聲明為全局變量,那osTop就是一個定值(也就是不會隨著滾動條的滾動而改變了),這樣就沒辦法實現(xiàn)由快到慢的返回頂部效果了。。。其實,我猜想你出錯的原因可能是 ?把osTop放到外面后,就代表加載頁面時就觸發(fā)了document.body.scrollTop,那么這個時候osTop的值 必定為 0; 所以 -osTop/6 就等于 -0/6, 這樣還能不報錯嗎?
因為他是內(nèi)部定義的 而且其他函數(shù)都有私有定義這個名字 所以會報錯的
舉報
回到頂部網(wǎng)站不可缺少的一部分,用JS實現(xiàn)炫酷拉風(fēng)的回到頂部效果
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2015-11-13
首先,osTop是當(dāng)前滾動條距離頁面頂部的距離,其次是osTop這個值被window.scroll監(jiān)聽,也就是每次觸發(fā)滾動條事件都會記錄一次osTop的值,并且這個值每次還要減去一個ispeed~~(重點就是,將osTop放在window.scroll里面 就是為了每次觸發(fā)滾動條事件 就記錄一次當(dāng)前距離頁面頂部的值)
2015-11-13
試想,如果你把它聲明為全局變量,那osTop就是一個定值(也就是不會隨著滾動條的滾動而改變了),這樣就沒辦法實現(xiàn)由快到慢的返回頂部效果了。。。其實,我猜想你出錯的原因可能是 ?把osTop放到外面后,就代表加載頁面時就觸發(fā)了document.body.scrollTop,那么這個時候osTop的值 必定為 0; 所以 -osTop/6 就等于 -0/6, 這樣還能不報錯嗎?
2015-11-13
因為他是內(nèi)部定義的 而且其他函數(shù)都有私有定義這個名字 所以會報錯的