当前位置: 首页 > 编程笔记 >

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

戚奇略
2023-03-14
本文向大家介绍浅谈vue 锚点指令v-anchor的使用,包括了浅谈vue 锚点指令v-anchor的使用的使用技巧和注意事项,需要的朋友参考一下

如下所示:

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 SSR中的Bundle的具有使用,包括了浅谈Vue SSR中的Bundle的具有使用的使用技巧和注意事项,需要的朋友参考一下 前言 写过Vue SSR的都知道,Vue通过提供server和client的webpack插件生成bundle josn,从而实现类似服务端的热更以及客户端资源的优化注入。那么这两个个bundle到底有什么神奇的呢?OK,话不多说,进入正题 客户端

  • 本文向大家介绍浅谈Vue SSR 的 Cookies 问题,包括了浅谈Vue SSR 的 Cookies 问题的使用技巧和注意事项,需要的朋友参考一下 一个网站一旦涉及到多用户, 就很难从 Cookies 中逃脱, Vue SSR 的 cookies 也真算是遇到的一个不小的问题, 从开始玩 SSR 开始到现在, 一共想出了3种方案, 从最早的把 Cookies 注入到 state 中, 到把 C

  • https://play.vuejs.org/#eNp9UctuwyAQ/BXKqZXyUJSb5UR9KIf20FZt1... 问题来源:https://stackoverflow.com/questions/41944054/reference-element-property-within-another-property 想要解决这个问题,又不想用v-for封装大改

  • 在移动端应用里,为了便于代码组织,通常我们要将组件放在各个路由的 .vue 文件里,但是因为此时组件并不在 body 下,加上定位,overflowscrolling 设置等原因,会出现遮罩在弹层之上,z-index 失效等问题。 因此我们推荐在纯弹窗类组件比如 Alert Popup XDialog 等组件上使用 v-transfer-dom 实现自动移动到 body 下,解决以上问题。 必须有

  • 本文向大家介绍浅谈php命令行用法,包括了浅谈php命令行用法的使用技巧和注意事项,需要的朋友参考一下 Php是一个非常流行的web服务端脚本语言。其实,php不仅仅可以在web服务器中充当重要角色。在命令行一样可以执行。 本文中,笔者为各位介绍下php在命令行中的使用方法。 1、  查看php的版本、配置 在命令行中输入php –v 即可查看当前php的版本。 其他的选项有: –m、-i。笔者在

  • 本文向大家介绍浅谈vue 单文件探索,包括了浅谈vue 单文件探索的使用技巧和注意事项,需要的朋友参考一下 在很多Vue项目中,我们使用 Vue.component 来定义全局组件,紧接着用new Vue({ el: '#container '}) 在每个页面内指定一个容器元素。 这种方案在只是使用 JavaScript 增强某个视图的中小型项目中表现得很好。然而在更复杂的项目中,或者当你的前端完