相思资源网 Design By www.200059.com

如下所示:

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的使用就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

标签:
vue,锚点,v-anchor

相思资源网 Design By www.200059.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
相思资源网 Design By www.200059.com

评论“浅谈vue 锚点指令v-anchor的使用”

暂无浅谈vue 锚点指令v-anchor的使用的评论...

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。