【滚动条联动】

1. 功能效果


在这里插入图片描述

  1. 左侧点击右侧可跳转(这个比较简单, 用一个better-scroll这个插件的API即可)
  2. 右侧滚动, 左侧实时绑定class

2. 找思路

1. 一开始我的思路是这样的

  1. 右侧滚动时, 找到菜品标题这个dom元素的一个API(相对于页面或父元素的距离)
  2. 遍历每一个标题, 判断是否处在一个距离内, 然后传值给左侧
  3. 测试了一圈, 发现并没有这种API, 溜了溜了

2. 好吧, 看看别人的思路

  1. 还是要依赖better-scroll这个插件的API
  2. 监听整个子元素的滚动, 实时得到scrollY的值
    // 这个scrollY是你相对于父元素顶部滚动了多少距离
  3. 创建一个数组, 这个数组有什么呢?
    // arr[0] = 0
    // arr[1] = 第一个菜品的li标签高度
    // arr[2] = 第一个菜品的li标签高度+第二个菜品的li标签高度
    // arr[3] = 第一个菜品的li标签高度+第二个菜品的li标签高度+第三个菜品的li标签高度
    // 依次类推, 技术细节不做描述, 通过给li标签设置一个空的class_name即可拿到li标签高度
  4. 然后我们判断scrollY是否处于arr[i]与arr[i+1]的区间内, 在, 就return一个i值
  5. 绑定左侧class, 根据这个i值与自身的Index做文章

3. 总结

  1. 多看文档
  2. 思路不通, 虚心学习别人的思路

To be continued

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值