关于锚点滚动的实现方法

来源:3-10 歌手列表快速导航入口实现(04)

慕神5500151

2021-05-07

老师好,关于3-10节中的滚动的实现方式,我想通过获取当前 move 到的那个元素,然后获取那个元素的 data-index 属性,然后调用 scrollTo 方法来实现歌手列表定位。
而不是通过计算偏移量来计算 anchorIndex 的值。请问这样做会有什么问题或缺点吗?谢谢~

代码如下:

    function onShortcutTouchStart(e) {
        const anchorIndex = parseInt(e.target.dataset.index)

        scrollTo(anchorIndex)
    }

    function onShortcutTouchMove(e) {
        const touch = e.touches[0]
        const pageX = touch.pageX
        const pageY = touch.pageY
        const currentElement = document.elementFromPoint(pageX, pageY)
        const index = parseInt(currentElement.dataset.index)

        scrollTo(index)
    }
写回答

1回答

ustbhuangyi

2021-05-07

如果你移出去呢(手指落在列表之外)

1
4
慕神5500151
回复
ustbhuangyi
明白了,谢谢老师
2021-05-08
共4条回复

Vue3开发企业级音乐Web App 明星讲师带你学大厂代码

慕课网明星讲师黄轶深度讲解 Vue3.0 ,提升的不止是Vue代码能力

2223 学习 · 1002 问题

查看课程