浅谈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 相关文章推荐
JQuery一种取同级值的方式(比如你在GridView中)
Mar 15 Javascript
js同比例缩放图片的小例子
Oct 30 Javascript
new Date()问题在ie8下面的处理方法
Jul 31 Javascript
jQuery实现鼠标经过购物车出现下拉框代码(推荐)
Jul 21 Javascript
EditPlus中的正则表达式 实战(2)
Dec 15 Javascript
Javascript实现一个简单的输入关键字添加标签效果实例
Jun 01 Javascript
详细AngularJs4的图片剪裁组件的实例
Jul 12 Javascript
JavaScript事件发布/订阅模式原理与用法分析
Aug 21 Javascript
小程序实现留言板
Nov 02 Javascript
javascript异步编程的六种方式总结
May 17 Javascript
js+html实现周岁年龄计算器
Jun 25 Javascript
解决Echarts 显示隐藏后宽度高度变小的问题
Jul 19 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新手谈谈我的学习心得
2007/02/25 PHP
随时给自己贴的图片加文字的php水印
2007/03/16 PHP
Mysql中limit的用法方法详解与注意事项
2008/04/19 PHP
PHP实现的比较完善的购物车类
2014/12/02 PHP
php简单获取目录列表的方法
2015/03/24 PHP
PHP表单数据写入MySQL数据库的代码
2016/05/31 PHP
php下载文件,添加响应头的简单实例
2016/09/22 PHP
php语法检查的方法总结
2019/01/21 PHP
js几个验证函数代码
2010/03/25 Javascript
两个Javascript小tip资料
2010/11/23 Javascript
JavaScript 计算图片加载数量的代码
2011/01/01 Javascript
Draggable Elements 元素拖拽功能实现代码
2011/03/30 Javascript
关于js new Date() 出现NaN 的分析
2012/10/23 Javascript
非html5实现js版弹球游戏示例代码
2013/09/22 Javascript
常见表单重复提交问题整理及解决方法
2013/11/13 Javascript
JavaScript不使用prototype和new实现继承机制
2014/12/29 Javascript
jQuery实现高亮显示网页关键词的方法
2015/08/07 Javascript
微信端开发--登录小程序步骤
2017/01/11 Javascript
Angularjs分页查询的实现
2017/02/24 Javascript
[00:47]DOTA2荣耀之路6:天火,天火!
2018/05/30 DOTA
python调用短信猫控件实现发短信功能实例
2014/07/04 Python
python在Windows下安装setuptools(easy_install工具)步骤详解
2016/07/01 Python
分析Python读取文件时的路径问题
2018/02/11 Python
[原创]Python入门教程2. 字符串基本操作【运算、格式化输出、常用函数】
2018/10/29 Python
Python 点击指定位置验证码破解的实现代码
2019/09/11 Python
Python实现的爬取豆瓣电影信息功能案例
2019/09/15 Python
澳大利亚家用电器在线商店:Billy Guyatts
2020/05/05 全球购物
Perfume’s Club美国官网:西班牙第一家在线美容店
2020/06/10 全球购物
升职自荐书范文
2013/11/28 职场文书
银行实习鉴定
2013/12/13 职场文书
公开承诺书格式
2014/05/21 职场文书
学生党员一帮一活动总结
2014/07/08 职场文书
2014年司法所工作总结
2014/11/22 职场文书
会计岗位职责
2015/02/03 职场文书
庆祝教师节新闻稿
2015/07/17 职场文书
Java Shutdown Hook场景使用及源码分析
2021/06/15 Java/Android