浅谈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 相关文章推荐
Extjs4.0设置Ext.data.Store传参的请求方式(默认为GET)
Apr 02 Javascript
javascript自定义startWith()和endWith()的两种方法
Nov 11 Javascript
js获取触发事件元素在整个网页中的绝对坐标(示例代码)
Dec 13 Javascript
ListBox实现上移,下移,左移,右移的简单实例
Feb 13 Javascript
JS瀑布流实现方法实例分析
Dec 19 Javascript
jQuery插件HighCharts绘制2D圆环图效果示例【附demo源码下载】
Mar 09 Javascript
React中的refs的使用教程
Feb 13 Javascript
node.js部署之启动后台运行forever的方法
May 23 Javascript
element ui table 增加筛选的方法示例
Nov 02 Javascript
node版本管理工具n包使用教程详解
Nov 09 Javascript
vue多层嵌套路由实例分析
Mar 19 Javascript
JavaScript展开操作符(Spread operator)详解
Jul 20 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无限遍历目录示例
2014/02/21 PHP
destoon会员注册提示“数据校验失败(2)”解决方法
2014/06/21 PHP
PDO::prepare讲解
2019/01/29 PHP
jQuery插件-jRating评分插件源码分析及使用方法
2012/12/28 Javascript
一个JS的日期格式化算法示例
2013/07/31 Javascript
JavaScript中为什么null==0为false而null大于=0为true(个人研究)
2013/09/16 Javascript
JS简单的图片放大缩小的两种方法
2013/11/11 Javascript
Jquery中ajax方法data参数的用法小结
2014/02/12 Javascript
document.forms[].submit()使用介绍
2014/02/19 Javascript
JavaScript中的typeof操作符用法实例
2014/04/05 Javascript
三种检测iPhone/iPad设备方向的方法
2014/04/23 Javascript
nodejs教程之制作一个简单的文章发布系统
2014/11/21 NodeJs
js实现发送验证码后的倒计时功能
2015/05/28 Javascript
JQuery在循环中绑定事件的问题详解
2016/06/02 Javascript
jQuery实现页面下拉100像素出现悬浮窗口的方法
2016/09/05 Javascript
JavaScript中的call和apply的用途以及区别
2017/01/11 Javascript
jQuery实现弹幕效果
2017/02/17 Javascript
详解RequireJS按需加载样式文件
2017/04/12 Javascript
浅谈react-native热更新react-native-pushy集成遇到的问题
2017/09/30 Javascript
关于微信小程序获取小程序码并接受buffer流保存为图片的方法
2019/06/07 Javascript
Python解决走迷宫问题算法示例
2018/07/27 Python
Selenium的使用详解
2018/10/19 Python
python实现RabbitMQ的消息队列的示例代码
2018/11/08 Python
简单了解python中的与或非运算
2019/09/18 Python
详解mac python+selenium+Chrome 简单案例
2019/11/08 Python
pytorch获取模型某一层参数名及参数值方式
2019/12/30 Python
详解Python+Selenium+ChromeDriver的配置和问题解决
2021/01/19 Python
TensorFlow低版本代码自动升级为1.0版本
2021/02/20 Python
亚马逊印度站:Amazon.in
2017/10/15 全球购物
编写函数,将一个3*3矩阵转置
2013/10/09 面试题
运动会入场词60字
2014/02/15 职场文书
大家访活动实施方案
2014/03/10 职场文书
处级干部考察材料
2014/12/24 职场文书
2016年三八红旗手先进事迹材料
2016/02/26 职场文书
html5调用摄像头截图功能
2022/01/18 Javascript
Vue OpenLayer 为地图绘制风场效果
2022/04/24 Vue.js