浅谈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 相关文章推荐
10个实用的脚本代码工具
May 04 Javascript
JavaScript 数组详解
Oct 10 Javascript
node.js入门教程迷你书、node.js入门web应用开发完全示例
Apr 06 Javascript
项目中常用的JS方法整理
Jan 30 Javascript
jquery代码实现简单的随机图片瀑布流效果
Apr 20 Javascript
js本地图片预览实现代码
Oct 09 Javascript
在 Angular 中使用Chart.js 和 ng2-charts的示例代码
Aug 17 Javascript
vue实现登陆登出的实现示例
Sep 15 Javascript
vue实现图书管理demo详解
Oct 17 Javascript
jQuery UI实现动画效果代码分享
Aug 19 jQuery
小程序云开发获取不到数据库记录的解决方法
May 18 Javascript
layui 解决富文本框form表单提交为空的问题
Oct 26 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
了解咖啡雨林联盟认证 什么是雨林认证 雨林认证是什么意思
2021/03/05 新手入门
Banner程序
2006/10/09 PHP
PHP中去掉字符串首尾空格的方法
2012/05/19 PHP
php ci框架中加载css和js文件失败的原因及解决方法
2014/07/29 PHP
PHP获取文件行数的方法
2015/06/10 PHP
php多线程并发实现方法
2016/09/30 PHP
PHP正则删除HTML代码中宽高样式的方法
2017/06/12 PHP
JavaScript instanceof 的使用方法示例介绍
2013/10/23 Javascript
JavaScript中的连字符详解
2013/11/28 Javascript
js鼠标及对象坐标控制属性详细解析
2013/12/14 Javascript
js中自定义方法实现停留几秒sleep
2014/07/11 Javascript
同一个网页中实现多个JavaScript特效的方法
2015/02/02 Javascript
picLazyLoad 实现图片延时加载(包含背景图片)
2016/07/21 Javascript
通过扫描二维码打开app的实现代码
2016/11/10 Javascript
nodejs入门教程四:URL相关模块用法分析
2017/04/24 NodeJs
详解JavaScript按概率随机生成事件
2017/08/02 Javascript
JS控制鼠标拒绝点击某一按钮的实例
2017/12/29 Javascript
详解一次Vue低版本安卓白屏问题的解决过程
2019/05/30 Javascript
gulp构建小程序的方法步骤
2019/05/31 Javascript
基于Python实现一个简单的银行转账操作
2016/03/06 Python
用python爬取租房网站信息的代码
2018/12/14 Python
通过shell+python实现企业微信预警
2019/03/07 Python
python多线程案例之多任务copy文件完整实例
2019/10/29 Python
python破解同事的压缩包密码
2020/10/14 Python
canvas环形倒计时组件的示例代码
2018/06/14 HTML / CSS
在线课程:Skillshare
2019/04/02 全球购物
幼儿师范毕业生自荐信
2013/11/09 职场文书
个人职业生涯规划书1500字
2013/12/31 职场文书
毕业生求职自荐书范文
2014/03/27 职场文书
三字经教学反思
2014/04/26 职场文书
租房协议书范文
2014/08/20 职场文书
2014党员学习《反腐倡廉警示教育读本》思想汇报
2014/09/13 职场文书
五好家庭申报材料
2014/12/20 职场文书
听证会主持词
2015/07/03 职场文书
2017新年晚会开幕词
2016/03/03 职场文书
PHP使用非对称加密算法RSA
2021/04/21 PHP