搜尋

首頁  >  問答  >  主體

javascript - vue.js有無比較快速的方法可以讓目前介面捲動到某部分。

例如常用的回到頂部,普通html頁面可以透過給a標籤的href屬性設定為某個id,然後點擊時就把滾動條滾動到了那一部分(當然,也可以直接設定滾動條距上的高度)。

而我目前有個需求是,在同一個vue組件中,點擊不同的按鈕,將滾動條滾動到對應的部分(可以不要滾動效果)。直接用上面提到的的話會觸發頁面跳轉,而直接設定滾動條距上高度的話,又得逐個獲取位置,沒有前者來得簡單。

求教大神,這個需求你們有無比較好的實現思維?

为情所困为情所困2738 天前611

全部回覆(8)我來回復

  • phpcn_u1582

    phpcn_u15822017-05-18 10:47:35

    Element.scrollIntoView()

    這是 JS 的一個原生 api,呼叫後,瀏覽器會捲動至目標元素的位置。

    https://developer.mozilla.org...

    回覆
    0
  • PHP中文网

    PHP中文网2017-05-18 10:47:35

    如果用不了錨點,只能取得每個部分的捲軸位置了。

    回覆
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-18 10:47:35

    那隻能用js了,如下面一樣,在事件中取得目標元素距離頁面頂部的距離,然後控制滾動軸:

    $(window).scrollTop( $("#caaa").offset().top )

    回覆
    0
  • 阿神

    阿神2017-05-18 10:47:35

    粗暴的來看,肯定是錨點這個方法暴力咯。

    回覆
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-18 10:47:35

    找原生js外掛程式引入

    回覆
    0
  • 阿神

    阿神2017-05-18 10:47:35

    同問!我也不清楚

    回覆
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-18 10:47:35

    https://huahua0406.github.io/...

    下面有個左右對應滾動的不知道滿足你的要求嗎

    回覆
    0
  • 大家讲道理

    大家讲道理2017-05-18 10:47:35

    vue-router2

    router有模擬錨點的功能

    回覆
    0
  • 取消回覆