前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >(二十)页面滚动行为控制

(二十)页面滚动行为控制

作者头像
老怪兽
发布2023-02-22 18:42:43
1.8K0
发布2023-02-22 18:42:43
举报
页面滚动行为控制 scrollBehavior(to, from, savedPosition)

说明

浏览器默认前进后退的时候,滚动条会默认保持子啊当前滚动区域,如果要让滚动条每次访问页面的时候都从头开始,则需要在路由创建的时候进行配置

  • 页面滚回到顶部 scrollBehavior(to, from, savedPosition)
代码语言:javascript
复制
const router = createRouter({
  history: createWebHistory(),
  routes,
  scrollBehavior(to, from, savedPosition) {
    return { 
      // top 操控的是 纵坐标的滚动,正数则是向下偏移,负数表示向上偏移
      top: 0 ,
      // 设置平滑滚动,这个属性要浏览器支持,现在浏览器都支持
      behavior: 'smooth'
    }
  }
});
  • 延时滚动到顶部
代码语言:javascript
复制
const router = createRouter({
  history: createWebHistory(),
  routes,
  scrollBehavior(to, from, savedPosition) {
    return new Promis((resolve) => {
      setTimeOut(() => {
        top: 200,
        // 设置增提页面进行偏移
        behavior: 'smooth',
        // 针对某一个元素进行偏移
        el: '#app'
      }, 1000)
    })
  }
});
  • 浏览器自带的前进后退不滚动到浏览器顶部
代码语言:javascript
复制
const router = createRouter({
  history: createWebHistory(),
  routes,
  scrollBehavior(to, from, savedPosition) {
    console.log(savedPosition);
    // 如果是浏览器的前进后退就保留当前的滚动条位置,不是就滚动到顶部
    if (savedPosition) {
      return savedPosition;
    } else {
      return { top: 0 };
    }
  },
});
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022年11月14日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 页面滚动行为控制 scrollBehavior(to, from, savedPosition)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档