最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2021年02月08日 15:39:51   作者:丶Serendipity丶  
這篇文章主要介紹了JavaScript 獲取滾動條位置并將頁面滑動到錨點的的相關資料,幫助大家更好的理解和學習使用JavaScript,感興趣的朋友可以了解下

前言

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

什么是錨點問題

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

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

常見的解決方法

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">
    我是網(wǎng)頁頂部
  </div>
  <a href="#mydiv" rel="external nofollow" >回到頂部</a>

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

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 class="mybtn1"  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>

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

3.element.scrollIntoview使得滾動條根據(jù)視圖發(fā)生變化

<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 class="mybtn1"  onclick="toTop()">回到頂部</button>
  <button class="mybtn2" onclick="toBtm()">去到底部</button>
  <script>
    window.onload=function(){

    }
  // 調用方法為element.scrollIntoview()
  //參數(shù)為true時,頁面或者容器發(fā)生滾動,使得element的頂部與視圖容器頂部對齊
  //參數(shù)為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端移動端親測有效。

進階的解決方法

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

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

相關文章

  • 微信小程序canvas分享海報功能

    微信小程序canvas分享海報功能

    這篇文章主要為大家詳細介紹了微信小程序canvas分享海報功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • 不間斷循環(huán)滾動效果的實例代碼(必看篇)

    不間斷循環(huán)滾動效果的實例代碼(必看篇)

    下面小編就為大家?guī)硪黄婚g斷循環(huán)滾動效果的實例代碼(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • MUI  Scroll插件的使用詳解

    MUI Scroll插件的使用詳解

    這篇文章主要介紹了MUI Scroll插件的使用詳解,需要的朋友可以參考下
    2017-04-04
  • 微信小程序實現(xiàn)多列選擇器

    微信小程序實現(xiàn)多列選擇器

    這篇文章主要為大家詳細介紹了微信小程序實現(xiàn)多列選擇器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • JS實現(xiàn)炫酷輪播圖

    JS實現(xiàn)炫酷輪播圖

    這篇文章主要為大家詳細介紹了JS實現(xiàn)炫酷輪播圖,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • JavaScript中的class類詳解

    JavaScript中的class類詳解

    JavaScript?中的類(Class)是一種新的語言特性,它讓我們可以使用面向對象編程的思想來更加方便地組織和管理代碼。在本文中,我們將詳細介紹?JavaScript?中的類特性,感興趣的同學可以借鑒閱讀
    2023-05-05
  • 前端JS經(jīng)典問題之跨域的解決方案

    前端JS經(jīng)典問題之跨域的解決方案

    這篇文章主要介紹了前端JS經(jīng)典問題之跨域的解決方案,文中主要講了瀏覽器的同源策略、跨域限制以及解決跨域的幾種方法,包括CORS、JSONP和配置代理等,需要的朋友可以參考下
    2024-11-11
  • 淺談nodeName,nodeValue,nodeType,typeof 的區(qū)別

    淺談nodeName,nodeValue,nodeType,typeof 的區(qū)別

    本文主要簡單介紹了nodeName,nodeValue,nodeType,typeof 的區(qū)別,算是知識點的一個小總結,希望對小伙伴們有所幫助
    2015-01-01
  • 利用Console來Debug的10個高級技巧匯總

    利用Console來Debug的10個高級技巧匯總

    通常,我們在編寫一個新的JavaScript代碼過程中經(jīng)常會發(fā)生錯誤,可能是語法錯誤,可能是邏輯錯誤,如果沒有一個調試工具幫助我們的話,相信你怕是頭都要炸了。下面這篇文章主要給大家總結介紹了關于利用Console來Debug的10個高級技巧,需要的朋友可以參考下。
    2018-03-03
  • 前端頁面自動播放音頻實現(xiàn)的常用方法

    前端頁面自動播放音頻實現(xiàn)的常用方法

    這篇文章主要介紹了如何在谷歌瀏覽器中實現(xiàn)頁面視頻的自動播放音頻,包括Chrome的自動播放策略和常用實現(xiàn)方法,同時提供了注意事項和建議,需要的朋友可以參考下
    2025-01-01

最新評論

博乐市| 扬州市| 麟游县| 太和县| 兴城市| 扶余县| 若羌县| 育儿| 闻喜县| 永丰县| 崇明县| 抚顺县| 无极县| 临高县| 凤冈县| 荆门市| 双城市| 犍为县| 盐亭县| 奎屯市| 漳平市| 冕宁县| 穆棱市| 电白县| 桃源县| 剑河县| 化隆| 涡阳县| 全州县| 阜城县| 德阳市| 香港| 城口县| 扎囊县| 喜德县| 嘉义市| 长白| 昌平区| 贵德县| 玉树县| 合水县|