当前位置: 首页 > news >正文

泉州手机网站建设公司南宁百度seo排名价格

泉州手机网站建设公司,南宁百度seo排名价格,宣传软文模板,香水推广软文欢迎观看《Vue Router 实战(第4版)》视频课程 滚动行为 使用前端路由,当切换到新路由时,想要页面滚到顶部,或者是保持原先的滚动位置,就像重新加载页面那样。 vue-router 能做到,而且更好&…

欢迎观看《Vue Router 实战(第4版)》视频课程

    1. 滚动行为

使用前端路由,当切换到新路由时,想要页面滚到顶部,或者是保持原先的滚动位置,就像重新加载页面那样。 vue-router 能做到,而且更好,它让你可以自定义路由切换时页面如何滚动。

注意: 这个功能只在支持 history.pushState 的浏览器中可用。

当创建一个 Router 实例,你可以提供一个 scrollBehavior 方法:

const router = createRouter({

  history: createWebHashHistory(),

  routes: [...],

  scrollBehavior (to, from, savedPosition) {

    // return 期望滚动到哪个的位置

  }

})

scrollBehavior 函数接收 to和 from 路由对象,如 Navigation Guards。第三个参数 savedPosition,只有当这是一个 popstate 导航时才可用(由浏览器的后退/前进按钮触发)。

该函数可以返回一个 ScrollToOptions 位置对象:

const router = createRouter({

  scrollBehavior(to, from, savedPosition) {

    // 始终滚动到顶部

    return { top: 0 }

  },

})

你也可以通过 el 传递一个 CSS 选择器或一个 DOM 元素。在这种情况下,top 和 left 将被视为该元素的相对偏移量。

const router = createRouter({

  scrollBehavior(to, from, savedPosition) {

    // 始终在元素 #main 上方滚动 10px

    return {

      // 也可以这么写

      // el: document.getElementById('main'),

      el: '#main',

      // 在元素上 10 像素

      top: 10,

    }

  },

})

如果返回一个 falsy 的值,或者是一个空对象,那么不会发生滚动。

返回 savedPosition,在按下 后退/前进 按钮时,就会像浏览器的原生表现那样:

const router = createRouter({

  scrollBehavior(to, from, savedPosition) {

    if (savedPosition) {

      return savedPosition

    } else {

      return { top: 0 }

    }

  },

})

如果你要模拟 “滚动到锚点” 的行为:

const router = createRouter({

  scrollBehavior(to, from, savedPosition) {

    if (to.hash) {

      return {

        el: to.hash,

      }

    }

  },

})

如果你的浏览器支持滚动行为,你可以让它变得更流畅:

const router = createRouter({

  scrollBehavior(to, from, savedPosition) {

    if (to.hash) {

      return {

        el: to.hash,

        behavior: 'smooth',

      }

    }

  }

})

      1. 延迟滚动

有时候,我们需要在页面中滚动之前稍作等待。例如,当处理过渡时,我们希望等待过渡结束后再滚动。要做到这一点,你可以返回一个 Promise,它可以返回所需的位置描述符。下面是一个例子,我们在滚动前等待 500ms:

const router = createRouter({

  scrollBehavior(to, from, savedPosition) {

    return new Promise((resolve, reject) => {

      setTimeout(() => {

        resolve({ left: 0, top: 0 })

      }, 500)

    })

  },

})

我们可以将其与页面级过渡组件的事件挂钩,以使滚动行为与你的页面过渡很好地结合起来,但由于使用场景可能存在的差异和复杂性,我们只是提供了这个基础来实现特定的用户场景。

http://www.dtcms.com/a/506499.html

相关文章:

  • 汉口网站建设公司湖南住房和城乡建设网站
  • 网站设计哪家口碑好上海微盟企业发展有限公司
  • 小企业官方网站制作建设部网站城建学院
  • 网站关键词收录查询各大网站的404
  • 开发的网站网站基础优化
  • 局网站建设制度网站解析怎么做
  • 网站搭建哪里找最好免费好用的网站管理系统
  • 网站页头背景seo排名工具给您好的建议下载官网
  • 海口网站建设方案优化在线视频播放网站开发
  • 两江新区建设管理局网站在线logo制作
  • 潍坊网站设计公司如何修改dns 快速使用境外网站
  • 江门营销网站建设铁路网站建设论文
  • 网站开发项目经验描述wang域名建的网站
  • 在线精品课程网站开发关于网站设计的新闻
  • 眉县住房和城市建设局网站注册500万公司实缴多少钱
  • 做游戏网站需要多少钱福州网站设计哪家好
  • 成品短视频网站源码搭建免费公司网站一般去哪里做
  • 什么是网站建设的基础外贸生意做哪个网站好
  • 把两个网站合并到一个网页扬州做企业网站哪家公司好
  • 网站开发专业实习报告各种管理系统
  • 类似于美团的网站怎么做下载别人做的ppt的网站
  • 怎么给购物网站做推广市场推广策略 包括哪些
  • 月付购物网站建站怎样修改公司网站内容
  • 视频素材网站推荐宁波网站建设七米
  • 广州市 网站建设 有限公司最专业的网站建设公司
  • 珠海电商网站建设海口专门做网站
  • 响应式企业网站系统dw网站设计步骤
  • 网站建设三网加工平台设计
  • 北滘网站设计加强网站队伍建设
  • 河北建设厅网站技术电话网站上传的图片怎么做的清晰