浅谈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 相关文章推荐
IE浏览器打印的页眉页脚设置解决方法
Dec 08 Javascript
javascript中RegExp保留小数点后几位数的方法分享
Aug 13 Javascript
jquery实现的一个简单进度条效果实例
May 12 Javascript
浅谈javascript控制HTML5的全屏操控,浏览器兼容的问题
Oct 10 Javascript
jQuery模拟爆炸倒计时功能实例代码
Aug 21 jQuery
JavaScript中递归实现的方法及其区别
Sep 12 Javascript
vue translate peoject实现在线翻译功能【新手必看】
Jun 07 Javascript
JS中使用cavas截图网页并解决跨域及模糊问题
Nov 13 Javascript
Vue项目中使用better-scroll实现一个轮播图自动播放功能
Dec 03 Javascript
vue+Vue Router多级侧导航切换路由(页面)的实现代码
Dec 20 Javascript
使用layui日期控件laydate对开始和结束时间进行联动控制的方法
Sep 06 Javascript
JavaScript的console命令使用实例
Dec 03 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 获取远程网页内容的代码(fopen,curl已测)
2011/06/06 PHP
php接口和抽象类使用示例详解
2014/03/02 PHP
php使用PDO获取结果集的方法
2017/02/16 PHP
PHP实现的最大正向匹配算法示例
2017/12/19 PHP
JS中简单的实现像C#中using功能(有源码下载)
2007/01/09 Javascript
java script编程起步(第三课)
2007/01/10 Javascript
基于dom编程中 动态创建与删除元素的使用
2013/04/17 Javascript
jquery $(this).attr $(this).val方法使用介绍
2013/10/08 Javascript
js中的caller和callee属性介绍和例子
2014/06/07 Javascript
使用AngularJS编写较为优美的JavaScript代码指南
2015/06/19 Javascript
纯javascript响应式树形菜单效果
2015/11/10 Javascript
jquery获取css的color值返回RGB的方法
2015/12/18 Javascript
Bootstrap基本组件学习笔记之下拉菜单(7)
2016/12/07 Javascript
微信小程序 增、删、改、查操作实例详解
2017/01/13 Javascript
bootstrap paginator分页插件的两种使用方式实例详解
2017/11/14 Javascript
使用webpack打包koa2 框架app
2018/02/02 Javascript
Vue快速实现通用表单验证功能
2019/12/05 Javascript
Angular8 实现table表格表头固定效果
2020/01/03 Javascript
vue中的过滤器及其时间格式化问题
2020/04/09 Javascript
[49:21]完美世界DOTA2联赛循环赛 Ink Ice vs LBZS BO2第二场 11.05
2020/11/06 DOTA
python实现simhash算法实例
2014/04/25 Python
python实现梯度下降算法
2020/03/24 Python
python tkinter实现界面切换的示例代码
2019/06/14 Python
python字符串,元组,列表,字典互转代码实例详解
2020/02/14 Python
Django REST Swagger实现指定api参数
2020/07/07 Python
小结Python的反射机制
2020/09/28 Python
python利用 keyboard 库记录键盘事件
2020/10/16 Python
西班牙灯具网上商店:Lampara.es
2018/06/05 全球购物
大学生专科毕业生自我评价
2013/11/17 职场文书
园林系毕业生求职信
2014/06/23 职场文书
防灾减灾日活动总结
2014/08/26 职场文书
土地转让协议书
2014/09/27 职场文书
JavaScript实现复选框全选功能
2021/04/11 Javascript
详解Laravel框架的依赖注入功能
2021/05/27 PHP
教你用Python+selenium搭建自动化测试环境
2021/06/18 Python
Java使用JMeter进行高并发测试
2021/11/23 Java/Android