国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

JavaScript 獲取滾動條位置并將頁面滑動到錨點

瀏覽:64日期:2023-10-04 11:44:54
前言

這篇來記錄下最近工作中遇到的一個問題,在app原生和前端h5混合開發的過程中,其中一個頁面是選擇城市列表的頁面,類似于美團餓了么城市選擇,銀行app中銀行列表選擇,通訊錄中快速定位到聯系人選擇的錨點位置等這樣的功能,作為剛入門不久的我來說,感覺這個功能還是有一點壓力。下面我來分享一下我所查到的一些實現方法。

什么是錨點問題

對于pc端網頁來說,常見的網頁右側的回到頂部按鈕,點擊直接跳轉到網頁最上面,就是錨點的實現;

對于移動端來說,打開你手機的通訊錄,點擊右側的字母,頁面直接跳轉到對應字母的聯系人,這也是錨點的實現。

常見的解決方法1.<a>標簽中href屬性設置為跳轉元素的id的值

<style> #mydiv{ height: 1200px; width: 100%; background-color: pink; position: relative; } a{ position: absolute; top: 1000px; left: 1000px; } </style> <div id='mydiv'> 我是網頁頂部 </div> <a href='http://www.cgvv.com.cn/bcjs/16418.html#mydiv' rel='external nofollow' >回到頂部</a>

上面的辦法相當于設置一個超鏈接,a標簽直接跳轉,但是這樣回改變瀏覽器地址欄中的地址,感覺不太實用

2.原生js獲取滾動條位置,并作出改變scrollTop

<style> body{ position: relative; } h1{ margin: 0 auto; } .mybtn1{ position: fixed; left: 200px; top: 500px; } .mybtn2{ position: fixed; left: 200px; top: 550px; } </style><body> <h1 id='topH1'>1</h1> <h1>2</h1> <h1>3</h1> <h1>4</h1> <h1>5</h1> <h1>6</h1> <h1>7</h1> <h1>1</h1> <h1>2</h1> <h1>3</h1> <h1>4</h1> <h1>5</h1> <h1>6</h1> <h1>7</h1> <h1>1</h1> <h1>2</h1> <h1>3</h1> <h1>4</h1> <h1>5</h1> <h1>6</h1> <h1 id='tobtmH1'>7</h1> <button onclick='toTop()'>回到頂部</button> <script> function toTop(){ var topH1 = document.getElementById('topH1') document.documentElement.scrollTop=topH1.offsetTop window.pageYOffset=topH1.offsetTop document.body.scrollTop=topH1.offsetTop ; } </script> </body>

這種方法就是給按鈕添加點擊事件,觸發點擊事件后改變滾動條位置,但是這種辦法需要處理兼容型問題比較麻煩,pc端移動端親測有效。

3.element.scrollIntoview使得滾動條根據視圖發生變化

<style> body{ position: relative; } .mydiv{ margin-top: 100px; border: 1px solid pink; } h1{ margin: 0 auto; } .mybtn1{ position: fixed; left: 200px; top: 500px; } .mybtn2{ position: fixed; left: 200px; top: 550px; }</style><body> <div class='mydiv'> <h1 id='topH1'>1</h1> <h1>2</h1> <h1>3</h1> <h1>4</h1> <h1>5</h1> <h1>6</h1> <h1>7</h1> <h1>1</h1> <h1>2</h1> <h1>3</h1> <h1>4</h1> <h1>5</h1> <h1>6</h1> <h1>7</h1> <h1>1</h1> <h1>2</h1> <h1>3</h1> <h1>4</h1> <h1>5</h1> <h1>6</h1> <h1 id='tobtmH1'>7</h1></div> <button onclick='toTop()'>回到頂部</button> <button onclick='toBtm()'>去到底部</button> <script> window.onload=function(){ } // 調用方法為element.scrollIntoview() //參數為true時,頁面或者容器發生滾動,使得element的頂部與視圖容器頂部對齊 //參數為false時,使得element的底部與視圖容器底部對齊 function toTop(){ var topH1 = document.getElementById(’topH1’) topH1.scrollIntoView(true) } function toBtm() { var tobtmH1 = document.getElementById(’tobtmH1’) tobtmH1.scrollIntoView(false) } </script> </body>

上面這種方法是將錨點跳轉到視圖的頂部或者底部,沒有太多弊端,pc端移動端親測有效。

進階的解決方法

進階的方法就是調用第三發插件better-scroll,這種方法還沒有親測,查看資料也沒有太多的坑,需要的自己添加使用下。

以上就是JavaScript 獲取滾動條位置并將頁面滑動到錨點的詳細內容,更多關于JavaScript 滾動條滑動到錨點的資料請關注好吧啦網其它相關文章!

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 久久久久久亚洲精品中文字幕 | 国产精品免费大片一区二区 | 国产在线一区观看 | 免费看一区二区三区 | 国产欧美日韩在线观看 | 99久久精品国产片久人 | 99久久免费国产香蕉麻豆 | 国产在线精品二区韩国演艺界 | 日韩黄色免费观看 | 亚洲人成网站色7799在线观看 | 日韩综合网站 | 美女被cao免费看在线看网站 | 亚洲不卡一区二区三区在线 | 国产精品视频久久 | 国产成人久久精品 | 国产精品久久久久久久久久免费 | 国产午夜在线观看视频播放 | 亚洲一区二区中文 | 国产第一区二区三区在线观看 | 成人在线视频国产 | 男人天堂视频在线观看 | 国内黄色一级精品 | 久久精品女人毛片国产 | 国产成人精视频在线观看免费 | 91在线免费公开视频 | 亚洲视频一区二区在线观看 | 91小视频在线观看免费版高清 | 性xxxx奶大欧美高清 | 欧美激情自拍 | 69欧美另类xxxxx高清 | 成人午夜网站 | 韩国本免费一级毛片免费 | 成年大片免费视频播放手机不卡 | 91色视 | 亚洲刺激视频 | a级毛片网站 | 国产普通话一二三道 | 国产网址在线观看 | 国产亚洲欧美日韩在线观看一区二区 | 国产精品免费大片一区二区 | 欧美成人精品不卡视频在线观看 |