作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试使用 nuxt.js 和 this template 创建网站.我将文件夹:css、img、js、scss、vendor 从模板复制到我的 nuxt 项目的静态文件夹。在这之后我做了nuxt.config.js和 pages/index.vue文件。除了页面上的平滑滚动外,所有工作都很好。我在浏览器控制台中看到错误:
agency.min.js:7 Uncaught TypeError: Cannot read property 'top' of undefined
at a (agency.min.js:7)
at agency.min.js:7
at agency.min.js:7
最佳答案
首先,您需要像这样覆盖路由器的默认行为。将此粘贴到 nuxt.config.js 中的任何位置:
{
//.......
router: {
scrollBehavior(to) {
if (to.hash) {
return window.scrollTo({
top: document.querySelector(to.hash).offsetTop + window.innerHeight,
behavior: 'smooth'
})
}
return window.scrollTo({ top: 0, behavior: 'smooth' })
}
}
}
那么你的 anchor 链接应该是这样的:
<nuxt-link :to="{ path: '/',hash:'#about'}">Contact</nuxt-link>
关于javascript - 如何在 nuxt.js 和引导站点中平滑滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53812381/
我是一名优秀的程序员,十分优秀!