vue3--移动端slider处理

对于这里的处理一共分为两个部分,点击滑块后变色,动画效果

这里的难点在于如何处理切换滑块的逻辑:

  • 当 slider 进行切换时,它的当前位置就是通过 translateX 进行指定的,也就是我们只需要 计算出当前点击的item位置与宽度即可
  • 那么要达到这个目的,我们就需要具备以下内容:
    • 选中的 item 下标:currentCategoryIndex
    • 所有 item 元素:itemRefs
    • ul 的横向滚动偏移位置:ulScrollLeft
    • 最后在 currentCategoryIndex 发生改变时,获取 item 下标元素的 left 和 width,计算 sliderStyle 即可

优化 category 数据

那么由于我们需要获取选中的 item 的下标,为了实现数据更好的共享,这里我们将获取categorys数据放到pinia中进行处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白小白从不日白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值