vue实现滚动监听到锚点,vue页面锚点定位

  vue实现滚动监听到锚点,vue页面锚点定位

  这篇文章主要为大家详细介绍了某视频剪辑软件模态框实现动态锚点,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  本文实例为大家分享了某视频剪辑软件模态框实现动态锚点的具体代码,供大家参考,具体内容如下

  参考:vue中实现锚点跳转及滚动监听的简便方法

  效果图:

  代码:

  //html代码

  模板

  div id=应用程序

  埃尔对话

  class=abow_dialog

  title=增加内容

  :visible.sync=DialogVisible

  宽度=80%

  中心

  div class=steps

  保险商实验所

  li v-for=(item,index) in title_list :key=index

  span ref= spans :style= { color:active step===index?# 1987 E1 : # 000000 } @ click= jump(index)

  I class= El-icon-thumb /I { { item .标题} }

  /span

  /李

  /ul

  /div

   div class= result @ scroll= on scroll

  滚动项目范围第一项项/span/div

  滚动项目范围第二项项/span/div

  滚动项目范围第三项项/span/div

  滚动项目范围第四项项/span/div

  滚动项目范围第五项项/span/div

  滚动项目范围第六项项/span/div

  /div

  span slot=页脚 class=对话框-页脚text-align=右

  El-button @ click=对话框可见=假取消/el-button

  El-button type= primary @ click= dialog visible=false 确定/el-button

  /span

  /el-dialog

  /div

  /模板

  //js代码

  脚本

  导出默认值{

  名称: dialogandmaod ,

  data() {

  返回{

  DialogVisible: true,//一般默认是假的,为了方便查看就设置成了真实的

  activeStep :0,

  标题_列表:[

  {标题:第一项项},

  {标题:第二项项},

  {标题:第三项项},

  {标题:第四项项},

  {标题:第五项项},

  {标题:第六项项},

  ]

  }

  },

  方法:{

  跳转(索引){

  var items=文档。查询选择器全部(.滚动项目);

  for(var I=0;一。物品长度;i ) {

  if (index===i) {

  项目[我].scrollIntoView({

  块:开始,//默认跳转到顶部

  行为:"平滑"//滚动的速度

  });

  }

  }

  },

  onScroll(e) {

  让滚动项目=文档。查询选择器全部(.滚动项目);

  对于(让I=滚动项目。长度-1;I=0;我- ) {

  //判断滚动条滚动距离是否大于当前滚动项可滚动距离

  让判断=

  e。目标。scroll top=滚动项目[I].offsetTop - scrollItems[0].抵消

  如果(法官){

  这个。主动步=I;

  打破;

  }

  }

  }

  }

  }

  /脚本

  //css代码

  样式lang=scss 。埃尔-对话框-中心100 . El-对话框_ _页脚{

  文本对齐:右对齐!重要;

  }。abow_dialog {

  显示器:flex

  对齐-内容:居中;

  对齐-项目:居中;

  溢出:隐藏;el-dialog {

  保证金:0自动!重要;

  身高:90%;

  溢出:隐藏;步骤{

  背景色:# fff

  max-height:calc(-16px 100 VH);

  位置:固定;

  宽度:98px

  顶配:90px

  右:2%;

  ul {

  列表样式:无;

  左填充:5px

  边距:12px 0;

  }

  李{

  边距:7px 5px

  跨度{

  光标:指针;

  :悬停{

  颜色:#88bcec!重要;

  }

  我{

  右边距:5px

  }

  }

  }

  }。结果{

  位置:绝对;

  左:10px

  top:54px;

  底部:70px

  右:0;

  填充:0;

  溢出-y:滚动;滚动项目{

  宽度:100%;

  高度:500像素

  边距-顶部:20px

  背景:rgb(137,238,238);

  跨度{

  字体大小:20px

  }

  :第一个孩子{

  边距-顶部:0;

  }

  :最后一个孩子{

  高度:500像素

  }

  }

  }。埃尔-对话框_ _页脚{

  位置:绝对;

  左:0;

  右:0;

  底部:0;

  }

  }

  }

  /风格

  以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: