浅谈vue 锚点指令v-anchor的使用


Posted in Javascript onNovember 13, 2019

如下所示:

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 锚点指令v-anchor的使用就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
开发跨浏览器javascript常见注意事项
Jan 01 Javascript
js 强制弹出窗口代码研究-又一款代码
Mar 20 Javascript
javascript 另一种图片滚动切换效果思路
Apr 20 Javascript
jQuery function的正确书写方法
Aug 02 Javascript
javascript中简单的进制转换代码实例
Oct 26 Javascript
js限制文本框只能输入中文的方法
Aug 11 Javascript
js实现的奥运倒计时时钟效果代码
Dec 09 Javascript
JS弹出窗口的运用与技巧大全
Nov 01 Javascript
Vue学习笔记进阶篇之单元素过度
Jul 19 Javascript
vue axios整合使用全攻略
May 24 Javascript
vue-cli3中配置alias和打包加hash值操作
Sep 04 Javascript
JS pushlet XMLAdapter适配器用法案例解析
Oct 16 Javascript
Jquery异步上传文件代码实例
Nov 13 #jQuery
解决ele ui 表格表头太长问题的实现
Nov 13 #Javascript
vue 实现 rem 布局或vw 布局的方法
Nov 13 #Javascript
详解如何在Javascript和Sass之间共享变量
Nov 13 #Javascript
JavaScript数组及常见操作方法小结
Nov 13 #Javascript
mpvue微信小程序的接口请求fly全局拦截代码实例
Nov 13 #Javascript
javascript操作元素的常见方法小结
Nov 13 #Javascript
You might like
php学习笔记之面向对象编程
2012/12/29 PHP
php设计模式小结
2013/02/15 PHP
深入PHP许愿墙模块功能分析
2013/06/25 PHP
php中单个数据库字段多列显示(单字段分页、横向输出)
2014/07/28 PHP
PHP实现多图上传(结合uploadify插件)思路分析
2016/11/30 PHP
php中array_fill函数的实例用法
2021/03/02 PHP
建议大家看下JavaScript重要知识更新
2007/07/08 Javascript
JavaScript 设计模式学习 Singleton
2009/07/27 Javascript
silverlight线程与基于事件驱动javascript引擎(实现轨迹回放功能)
2011/08/09 Javascript
遍历jquery对象的代码分享
2011/11/02 Javascript
javascript的函数作用域
2014/11/12 Javascript
浅谈Javascript变量作用域问题
2014/12/16 Javascript
jquery删除指定子元素代码实例
2015/01/13 Javascript
纯Javascript实现ping功能的方法
2015/03/20 Javascript
jQuery插件之jQuery.Form.js用法实例分析(附demo示例源码)
2016/01/04 Javascript
基于Bootstrap框架菜鸟入门教程(推荐)
2017/09/17 Javascript
详解如何使用node.js的开发框架express创建一个web应用
2018/12/20 Javascript
Vue 组件修改根实例的数据的方法
2019/04/02 Javascript
javascript实现的时间格式加8小时功能示例
2019/06/13 Javascript
vue 自定义组件的写法与用法详解
2020/03/04 Javascript
写了个监控nginx进程的Python脚本
2012/05/10 Python
Python实现企业微信机器人每天定时发消息实例
2020/02/25 Python
Python爬虫之Selenium实现窗口截图
2020/12/04 Python
中国专业的综合网上购物商城:京东
2016/08/02 全球购物
盖尔斯工厂店:GUESS Factory
2020/01/21 全球购物
Bloomingdale’s阿联酋:选购奢华时尚、美容及更多
2020/09/22 全球购物
Vinatis德国:法国领先的葡萄酒邮购公司
2020/09/07 全球购物
是否可以从一个static方法内部发出对非static方法的调用?
2014/08/18 面试题
军训 自我鉴定
2014/02/03 职场文书
国际语言毕业生求职信
2014/07/08 职场文书
英语四级考试作弊检讨书
2014/09/29 职场文书
新党章的学习心得体会
2014/11/07 职场文书
八年级英语教学计划
2015/01/23 职场文书
评职称个人总结
2015/03/05 职场文书
2015年学生会个人工作总结
2015/04/09 职场文书
Pygame Draw绘图函数的具体使用
2021/11/17 Python