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

js回到頁面指定位置的三種方式

 更新時間:2020年12月17日 08:55:18   作者:pengpeng  
這篇文章主要介紹了js回到頁面指定位置的三種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

以前大部分時間都是在做b端相關的項目,在實現(xiàn)此類需求時,通常都是直接借助 a 標簽搞定,現(xiàn)在做c端了,對交互性的要求一下就提升了,此時 a 標簽就遠遠不能滿足要求了,需要借助js來實現(xiàn)此類需求,特此記錄。

a 標簽

首先放出html

<body>
  <contain class="test1">
    <a name="topAnchor"></a>
    <div id="top">我是頂部</div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
  </contain>
  <footer>
    <button id="backTop1">第一種方式回到頂部</button>
    <button id="backTop2">第二種方式回到頂部</button>
    <button id="backTop3">第三種方式回到頂部</button>
  </footer>
</body>

然后具體操作步驟如下

  • 將a標簽放到指定元素的附近
  • 然后通過點擊事件生成 a 標簽
  • 觸發(fā)a標簽事件
  • 刪除a標簽

代碼如下

 const backTop1 = document.getElementById("backTop1")

  backTop1.addEventListener("click", function (e) {
    let a = document.createElement("a")
    a.href = "#topAnchor"
    e.target.appendChild(a)
    a.onclick = function (e) {
      e.stopPropagation()
    }
    a.click()
    e.target.removeChild(a)
  })

效果如下圖所示

效果很明顯,在事件觸發(fā)之后,頁面立馬跑到的頂部,在交互性沒啥要求的時候,這種做法確實沒啥問題,不過要求高了之后就不行了,會顯得有些突兀。

經(jīng)大佬提示,可以在style中設置 html, body { scroll-behavior:smooth; },可以達到和下面兩個api的behavior 參數(shù)為 smooth 的效果是一樣的

scrollTo()

此 api 需要傳遞 DOM元素相對于window的 left 和 top 的距離,此例子僅展示簡單demo,只考慮 top 坐標

當然它還有一個 behavior 參數(shù),將其設置為 smooth 后,將會出現(xiàn)滑動效果 步驟如下:

  • 計算目標元素距離頂部的距離
  • 通過事件觸發(fā)

代碼如下:

  const backTop2 = document.getElementById("backTop2")
  const TOP = document.getElementById("top")
  const y = TOP.offsetTop
  const backTop3 = document.getElementById("backTop3")
  backTop3.addEventListener("click", function (e) {
    window.scrollTo({ top: y, left: 0, behavior: 'smooth' })
  })

效果如下圖所示

從效果上來看,相較于 a 標簽,該api支持動畫,使得頁面更絲滑 不過它對iframe的支持度不夠,在我所遇到的項目中iframe的占比還不小,還請謹慎使用

Element.scrollIntoView()

該 api 相較于上一個,節(jié)點信息更加的明確,操作方法也更加的簡潔,更利于后續(xù)的維護

代碼如下

 const backTop2 = document.getElementById("backTop2")
  const TOP = document.getElementById("top")
  backTop2.addEventListener("click", function (e) {
    TOP.scrollIntoView({ behavior: "smooth" })
  })

效果如下圖所示

從效果上來看,該api和scrollTo的作用是一致的,但是從代碼結構上來說,scrollIntoView會更加的簡潔且在iframe中表現(xiàn)也很優(yōu)秀,基本上被用到的頻率更高

以上三種方法是我目前比較常用的,更多相關js回到指定位置內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Bootstrap table表格簡單操作

    Bootstrap table表格簡單操作

    這篇文章主要為大家詳細介紹了Bootstrap table表格簡單操作的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • 使用Bootstrap框架制作查詢頁面的界面實例代碼

    使用Bootstrap框架制作查詢頁面的界面實例代碼

    這篇文章主要介紹了使用Bootstrap框架制作查詢頁面界面的效果,本文以職業(yè)技能考證分數(shù)查詢界面為例,通過實例代碼給大家詳細介紹,需要的朋友可以參考下
    2016-05-05
  • aspx中利用js實現(xiàn)確認刪除代碼

    aspx中利用js實現(xiàn)確認刪除代碼

    在一些程序開發(fā)中,對于刪除操作,最好再讓用戶確認一下,以免誤操作,帶來的損失,下面的方法,大家可以參考下。各個語言下,都通用的思路。
    2010-07-07
  • JS瀏覽器導航欄navigator的一些冷知識

    JS瀏覽器導航欄navigator的一些冷知識

    這篇文章主要為大家介紹了JS導航欄navigator的一些冷知識使用方法實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • Json按某個鍵的值進行排序

    Json按某個鍵的值進行排序

    這篇文章主要介紹了json按某個鍵的值進行排序的相關資料,代碼簡單易懂,非常不錯,需要的朋友可以參考下
    2016-12-12
  • JS實現(xiàn)隔行換色的表格排序

    JS實現(xiàn)隔行換色的表格排序

    本篇文章主要介紹了JS實現(xiàn)隔行換色的表格排序的相關知識。具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03
  • JavaScript設計模式適配器模式實例

    JavaScript設計模式適配器模式實例

    這篇文章主要介紹了JavaScript設計模式適配器模式實例,適配器設計模式可以讓彼此不兼容的功能在一塊工作,有助于避免大規(guī)模的修改代碼,并且易于擴展和兼容
    2022-06-06
  • javascript學習基礎筆記之DOM對象操作

    javascript學習基礎筆記之DOM對象操作

    javascript是一種基于對象和世界驅動,并且安全性較強的腳本語言。一個完整的javascript實現(xiàn)包括核心(ECMAScript),文檔對象模型(DOM)和瀏覽器對象模型(BOM)
    2011-11-11
  • 關于Javascript模塊化和命名空間管理的問題說明

    關于Javascript模塊化和命名空間管理的問題說明

    最近閑下來的時候,稍微想了想這個問題。關于Javascript模塊化和命名空間管理
    2010-12-12
  • JS命名空間的另一種實現(xiàn)

    JS命名空間的另一種實現(xiàn)

    這篇文章介紹了js命名空間的另一種簡單實現(xiàn)方法,有需要的朋友可以參考一下
    2013-08-08

最新評論

衡东县| 隆化县| 东兴市| 元江| 遵化市| 滨海县| 惠东县| 油尖旺区| 华安县| 清涧县| 金昌市| 永修县| 吉木萨尔县| 普宁市| 民乐县| 松桃| 卓尼县| 盐源县| 宁晋县| 威宁| 德州市| 都匀市| 兴仁县| 晋城| 剑川县| 武陟县| 尚志市| 喀什市| 合阳县| 美姑县| 丰镇市| 明光市| 凤冈县| 吉隆县| 阿拉尔市| 崇文区| 鹿邑县| 农安县| 昌邑市| 马尔康县| 沙田区|