亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > HTML5 > 正文

詳解三種方式實現平滑滾動頁面到頂部的功能

2024-09-05 07:22:51
字體:
來源:轉載
供稿:網友

背景

最近開發公司的公眾號H5,做了一個點擊icon滾動到頂部的功能。實現功能比較簡單,直接調用window.scrollTo(0, 0),一行代碼完成。但是作為一個攻城獅,怎么可能對自己要求這么低,所以我給自己加了個需求,實現 平滑滾動頁面到頂部 的功能。經過調研和查看文檔,有了以下三種方案。

1.使用CSS

完成功能的最高境界,只用CSS就搞定。代碼如下:

html {    scroll-behavior: smooth;}

該樣式的作用是為有滾動條的元素指定一個滾動的行為,但是只有在當用戶手動導航或者 CSSOM scrolling API觸發滾動的時候生效,不影響用戶行為產生的滾動。就在我慶祝的時候,打開can i use看了下兼容性:

日了狗,還是老老實實用JS實現吧。

2.使用Window.scrollTo API

我們都知道window.scrollTo(x, y),通過傳入文檔中的x,y軸坐標來實現滾動到頁面某個位置的功能。這個API其實還可以傳入一個option,是一個對象,left值對應坐標中的x,top對應坐標中的y,還有一個值為behavior,可以讓你自定義滾動行為,然后我們這樣來實現滾動到頂部:

window.scrollTo({    left: 0,    top: 0,    behavior: 'smooth'})

真香,搞定。過了幾天,產品經理扛著5米大刀來找我,說在Safari上滾動效果奇怪,體檢極差。于是我默默打開了MDN文檔,滾動到底部:

看到了這張圖,雖然API瀏覽器都幾乎支持,但是option選項在Safari上直接掛掉,于是我又打開了stackoverflow,總結了終極方案。

3.使用requestAnimationFrame

經常能看到大名鼎鼎的requestAnimationFrame,但是沒機會用上,這次可以嘗嘗鮮了。我們知道requestAnimationFrame的作用就是告訴瀏覽器在下次重繪之前執行傳入的回調函數,這個行為是瀏覽器自動幫你做的。于是有了如下代碼:

const scrollToTop = () => {    let scrollTop = document.documentElement.scrollTo || document.body.scrollTop    if (scrollTop > 0) {        window.requestAnimationFrame(scrollTop)        window.scrollTop(0, scrollTop - scrollTo / 8)    }}

Done!?。erfect?。。∪杠S的同時,我還是打開了can i use查看了requestAnimationFrame的兼容性:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品入口福利| 亚洲精品视频在线观看视频| 欧美视频在线看| 岛国av一区二区| 国内精品久久久久久久久| 欧美日本国产在线| 欧美一级片久久久久久久| 国产主播喷水一区二区| 日韩专区在线观看| 日本在线精品视频| 亚洲精品国产精品国自产观看浪潮| 亚洲激情免费观看| 欧美人成在线视频| 欧美精品福利视频| 国产精品久久久久77777| 在线日韩中文字幕| 亚洲欧美激情在线视频| 亚洲精品自在久久| 日韩国产精品亚洲а∨天堂免| 国产一区二区激情| 九九热r在线视频精品| 亚洲电影天堂av| 国产在线视频不卡| 九色精品美女在线| 国产午夜一区二区| 色综合久久中文字幕综合网小说| 色爱av美腿丝袜综合粉嫩av| 成人免费网站在线看| 日韩性xxxx爱| 爽爽爽爽爽爽爽成人免费观看| 国产精品久久久亚洲| 97在线观看免费| 92裸体在线视频网站| 国产精品99免视看9| 91亚洲va在线va天堂va国| 欧美日韩一区二区在线| 亚洲电影免费观看高清完整版| 91系列在线观看| 91超碰中文字幕久久精品| 亚洲精品视频播放| 中文字幕欧美国内| 国内免费精品永久在线视频| 日韩在线播放一区| 亚洲丁香婷深爱综合| 久久九九精品99国产精品| 国产精品wwwwww| 欧美大尺度电影在线观看| 欧美日韩不卡合集视频| 日韩亚洲欧美中文高清在线| 日韩精品极品毛片系列视频| 最新69国产成人精品视频免费| 国产中文字幕亚洲| 97香蕉久久夜色精品国产| 午夜精品美女自拍福到在线| 日本久久中文字幕| 青青久久av北条麻妃海外网| 久久午夜a级毛片| 国产久一一精品| 久久久亚洲影院| 在线成人一区二区| 日本精品免费一区二区三区| 91tv亚洲精品香蕉国产一区7ujn| 亚洲电影免费观看| 国产成人精品一区二区三区| www.久久色.com| 日韩亚洲欧美中文在线| 欧美与欧洲交xxxx免费观看| 美女撒尿一区二区三区| 亚洲自拍另类欧美丝袜| 欧美性资源免费| 久久中文字幕视频| 欧美丰满片xxx777| 久久久久久国产免费| 日韩在线观看免费av| 亚洲欧美国内爽妇网| 国产精品欧美亚洲777777| 国产精品一久久香蕉国产线看观看| 日韩国产精品一区| 最新国产成人av网站网址麻豆| 亚洲高清一区二| 日韩欧美在线播放| 日韩视频在线一区| 亚洲成人激情图| 亚洲美女免费精品视频在线观看| 午夜精品久久久久久久99热浪潮| 国产在线精品一区免费香蕉| 国产一区深夜福利| 亚洲天堂男人天堂女人天堂| 欧美精品久久久久久久久久| 久热国产精品视频| 国产精品 欧美在线| 欧美一区二区三区图| 久色乳综合思思在线视频| 国产精品久久久久不卡| 国产免费成人av| 538国产精品视频一区二区| 欧美三级欧美成人高清www| 欧美富婆性猛交| 亚洲国产精彩中文乱码av在线播放| 97视频人免费观看| 亚洲女人天堂网| 亚洲电影免费观看高清完整版| 日韩欧美主播在线| 亚洲成色777777在线观看影院| 成人做爽爽免费视频| 亚洲人成电影网站色…| 亚洲成人av在线播放| 欧美精品情趣视频| 精品久久久久久国产91| 精品国内产的精品视频在线观看| 欧美性猛交丰臀xxxxx网站| 欧美成人中文字幕| 国产精品男人爽免费视频1| 91国内免费在线视频| 亚洲一区二区三区在线视频| 日韩视频免费大全中文字幕| 精品一区二区三区三区| 久久久久999| 91国产视频在线| 国产黑人绿帽在线第一区| 国产精品成人一区二区| 欧美床上激情在线观看| 国产精品69av| 91经典在线视频| 国产精品88a∨| 色综合91久久精品中文字幕| 久久这里只有精品视频首页| 欧美精品成人在线| 中文字幕日本精品| 久久精品成人动漫| 国产欧美在线观看| 亚洲国产成人av在线| 欧美日本在线视频中文字字幕| 欧洲精品久久久| 亚洲成成品网站| 国产精品www网站| 亚洲久久久久久久久久| 亚洲激情电影中文字幕| 久久九九有精品国产23| 亚洲第一区第二区| 国产有码在线一区二区视频| 国产成人综合一区二区三区| 久久电影一区二区| 国产91在线播放九色快色| 欧美性猛交xxxx免费看漫画| 91av视频在线免费观看| 69视频在线免费观看| 久久国产精品免费视频| 中文字幕亚洲字幕| 国产精品爽黄69| 91亚洲国产成人精品性色| 欧美日本中文字幕| 日韩欧亚中文在线| 2019最新中文字幕| 欧美性猛交xxxxx水多| 色偷偷av一区二区三区乱| 国产精品久久久久久av福利软件| 日韩在线观看免费av| 精品国产91久久久久久老师| 国产精品视频内| 中文字幕少妇一区二区三区| 国产亚洲xxx| 日韩影视在线观看| 欧美电影院免费观看|