如下所示:
export default { inserted: function(el, binding) { el.onclick = function() { let total; if (binding.value == 0) { total = 0; } else { total = document.getElementById(`anchor-${binding.value}`).offsetTop; } let distance = document.documentElement.scrollTop || document.body.scrollTop; let step = total / 50; if (total > distance) { (function smoothDown() { if (distance < total) { distance += step; document.documentElement.scrollTop = distance; setTimeout(smoothDown, 5); } else { document.documentElement.scrollTop = total; } })(); } else { let newTotal = distance - total; step = newTotal / 50; (function smoothUp() { if (distance > total) { distance -= step; document.documentElement.scrollTop = distance; setTimeout(smoothUp, 5); } else { document.documentElement.scrollTop = total; } })(); } } } }
1、封装一个anchor.js
2、在入口文件中定义
//定义锚点跳转 Vue.directive(‘anchor', anchorFunc);
3、页面中使用方式
v-anchor = “传入的value”
使用例子:
以上这篇浅谈vue 锚点指令v-anchor的使用就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。
本文向大家介绍浅谈Vue SSR中的Bundle的具有使用,包括了浅谈Vue SSR中的Bundle的具有使用的使用技巧和注意事项,需要的朋友参考一下 前言 写过Vue SSR的都知道,Vue通过提供server和client的webpack插件生成bundle josn,从而实现类似服务端的热更以及客户端资源的优化注入。那么这两个个bundle到底有什么神奇的呢?OK,话不多说,进入正题 客户端
本文向大家介绍浅谈Vue SSR 的 Cookies 问题,包括了浅谈Vue SSR 的 Cookies 问题的使用技巧和注意事项,需要的朋友参考一下 一个网站一旦涉及到多用户, 就很难从 Cookies 中逃脱, Vue SSR 的 cookies 也真算是遇到的一个不小的问题, 从开始玩 SSR 开始到现在, 一共想出了3种方案, 从最早的把 Cookies 注入到 state 中, 到把 C
https://play.vuejs.org/#eNp9UctuwyAQ/BXKqZXyUJSb5UR9KIf20FZt1... 问题来源:https://stackoverflow.com/questions/41944054/reference-element-property-within-another-property 想要解决这个问题,又不想用v-for封装大改
在移动端应用里,为了便于代码组织,通常我们要将组件放在各个路由的 .vue 文件里,但是因为此时组件并不在 body 下,加上定位,overflowscrolling 设置等原因,会出现遮罩在弹层之上,z-index 失效等问题。 因此我们推荐在纯弹窗类组件比如 Alert Popup XDialog 等组件上使用 v-transfer-dom 实现自动移动到 body 下,解决以上问题。 必须有
本文向大家介绍浅谈php命令行用法,包括了浅谈php命令行用法的使用技巧和注意事项,需要的朋友参考一下 Php是一个非常流行的web服务端脚本语言。其实,php不仅仅可以在web服务器中充当重要角色。在命令行一样可以执行。 本文中,笔者为各位介绍下php在命令行中的使用方法。 1、 查看php的版本、配置 在命令行中输入php –v 即可查看当前php的版本。 其他的选项有: –m、-i。笔者在
本文向大家介绍浅谈vue 单文件探索,包括了浅谈vue 单文件探索的使用技巧和注意事项,需要的朋友参考一下 在很多Vue项目中,我们使用 Vue.component 来定义全局组件,紧接着用new Vue({ el: '#container '}) 在每个页面内指定一个容器元素。 这种方案在只是使用 JavaScript 增强某个视图的中小型项目中表现得很好。然而在更复杂的项目中,或者当你的前端完