当前位置: 首页 > news >正文

js实现页面滚动时自动切换Sidebar标签,点击标签自动滚动页面

js实现页面滚动时自动切换Sidebar侧边导航标签,点击标签自动滚动页面

        <van-sidebar class="sidebar" v-model="activeKey"><van-sidebar-item :title="i.title" @click="onChange(i)" v-for="(i,k) in activeList" :key="k"/></van-sidebar><div class="filtratePopup_main"><div class="content" ref="anchor" @scroll="handleScroll"><div class="device_title" ref="device">设备配置</div><div class="item_list"><div @click="deviceItemClick(item)"  class="item van-ellipsis" v-for="(item,index) in deviceList" :key="index">{{item.equipmentName}}</div></div><div class="device_title" ref="environment">环境配置</div><div class="item_list"><div @click="deviceItemClick(item)"  class="item van-ellipsis" v-for="(item,index) in deviceList" :key="index">{{item.equipmentName}}</div></div><div style="height: 50vh;"></div></div>

方法:

methods: {handleScroll(v){let navList = document.querySelectorAll('.device_title')let navTop = []navList.forEach(i=>{navTop.push(i.offsetTop)})let scroll = this.$refs.anchor.scrollToplet index = 0navTop.forEach((i,k)=>{if(scroll>=i){index = k}})this.activeKey = index},onChange(v){this.$refs[v.name].scrollIntoView({ behavior: 'smooth' })},

注意的点:

1、如果最后一个内容过少,可能会出现点击最后一个,Sidebar导航定位到上面的问题,需要看情况加上底部内容
在这里插入图片描述
2、因为监听 会有所卡顿

http://www.lryc.cn/news/237907.html

相关文章:

  • Failed to load resource: net::ERR_UPLOAD_FILE_CHANGED 谷歌浏览器就会有这个问题 其他的浏览器没有
  • 微信小程序 prettier 格式化
  • SystemVerilog学习 (10)——线程控制
  • 【开题报告】基于SpringBoot的二手汽车交易平台的设计与实现
  • Python 爬虫入门
  • [ 加密 ] SHA256
  • 推荐一个windows上传linux服务器/linux服务器的docker镜像的工具,摆脱docker cp,以及解决常见问题。
  • 《QT从基础到进阶·三十五》QT插件实现侧边工具栏tabBar
  • 风丘电动汽车热管理方案 为您的汽车研发保驾护航
  • 每日一练 | 华为认证真题练习Day134
  • python连接hive报错:TypeError: can‘t concat str to bytes
  • 虹科示波器 | 汽车免拆检修 | 2015款奔驰G63AMG车发动机偶尔自动熄火
  • 10 Redis的持久化
  • 【Linux入侵日志排查】
  • 从哪些方面分析Linux内核源码
  • C#WPF数据模板应用实例
  • ansible练习题1
  • 六大排序详讲(直接插入排序+希尔排序+选择排序+堆排序+冒泡排序+快速排序)
  • Clickhouse初认识
  • 网络安全项目简介
  • CSDN每日一题学习训练——Python版(N皇后 II、买卖股票的最佳时机 II、编程通过键盘输入每一位运动员)
  • semodule工具详解(1)
  • 用百度AI大模型给头像换风格
  • 从入门到精通,mac电脑录屏软件使用教程!
  • Nginx(反向代理,负载均衡,动静分离)
  • 【Spring】SpringBoot的扩展点之ApplicationContextInitializer
  • 哈希表HashTable
  • 【软件测试】一位优秀测试工程师具备哪些知识和经验?
  • MongoDB相关基础操作(库、集合、文档)
  • 进程和线程( Process and Thread)