vue webapp之music 右侧快速入口实现(十三上)

本文介绍了如何在Vue Webapp中实现音乐应用的右侧快速入口功能。通过计算属性获取列表,遍历数组生成界面,并添加点击事件。利用touch事件,封装方法来获取点击时的索引,并在scroll组件中处理滚动逻辑,监听touchmove事件计算滑动偏移,实现平滑滚动到对应歌曲的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.利用计算属性获取右侧快速入口的列表

 computed: {
    shortcutList () {
      return this.data.map((group) => {
        return group.title.substr(0, 1)
      })
    }
  },

2.遍历数组

 <ul>
        <li v-for="item in shortcutList" class="item">
          {{item}}
        </li>
      </ul>

最终的效果图如图

接下来写有关它的操作属性

3.添加点击事件 touch事件

4.点击右侧获取相对应的索引

获取对应index的值,这里将此方法进行封装

export function getData(el, name, val) {
  const prefix = 'data-'
  name = prefix + name
  if (val) {
    return el.setAttribute(name, val)
  } else {
    return el.getAttribute(name)
  }
}

5.将此方法引入相应的组件

接下来需要做的就是点击不同的字母滚动到对应的歌曲

在scroll组件中封装此方法

6. 添加touchmove事件,记录最开始手指触碰的位置和最后的位置,

这里将touch存放到created里,之所以放到这里不放到data的原因是,它不需要监听数据的变化

开始y值

滑动结束y值

计算y轴位置上的偏移

 

记录当最初点击的是第几个索引,加上位移就可以算出当前点击的索引位置

记录滚动到第几个位置 ,这样右侧就可以实现滑动的效果了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值