搜索

首页  >  问答  >  正文

javascript - vue.js有无比较快捷的方法可以让当前界面滚动到某一部分。

比如常用的回到顶部,普通html页面可以通过给a标签的href属性设置为某个id,然后点击时就把滚动条滚动到了那一部分(当然,也可以直接设置滚动条距上的高度)。

而我目前有个需求是,在同一个vue组件中,点击不同的按钮,将滚动条滚动到对应的部分(可以不要滚动效果)。直接用上面提到的的话会触发页面跳转,而直接设置滚动条距上高度的话,又得逐个获取位置,没有前者来得简单。

求教大神,这个需求你们有无比较好的实现思路?

为情所困为情所困2738 天前609

全部回复(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
  • 取消回复