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