1.检查
通过检查发现,这是把要滚动的部分复制一份,滚动这两部分相同的内容,进而实现无缝连续滚动
2.遇到的问题
当第一部分中的数据未滚动完时,第二部分的click事件不起作用,无法实现功能
3.解决办法
原因:第二部分无法操作和js的运行机制有关,需要重新绑定事件
解决:给外层div加点击事件,通过event.target获取到点击的dom元素
4.例子
<template> <div @click="liClick($event)">> <vue-seamless-scroll :data="listData" :class-option="classOption" class="warp" > <ul class="item"> <li v-for="(item, index) in listData" :key="index" > <span class="title" v-text="item.title" :title="item.title" :data-title ="item.title"></span> <span class="date" v-text="item.date" :date='item.date'></span> </li> </ul> </vue-seamless-scroll> </div> </template> <script> import vueSeamlessScroll from "vue-seamless-scroll"; export default { name: "Example01Basic", components: { vueSeamlessScroll, }, data() { return { listData: [ { title: "无缝滚动第一行无缝滚动第一行", date: "2017-12-16", }, { title: "无缝滚动第二行无缝滚动第二行", date: "2017-12-16", }, { title: "无缝滚动第三行无缝滚动第三行", date: "2017-12-16", }, { title: "无缝滚动第四行无缝滚动第四行", date: "2017-12-16", }, { title: "无缝滚动第五行无缝滚动第五行", date: "2017-12-16", }, { title: "无缝滚动第六行无缝滚动第六行", date: "2017-12-16", }, { title: "无缝滚动第七行无缝滚动第七行", date: "2017-12-16", }, { title: "无缝滚动第八行无缝滚动第八行", date: "2017-12-16", }, { title: "无缝滚动第九行无缝滚动第九行", date: "2017-12-16", }, ], classOption: { step: 1, //滚动速度 direction: 0 , // 滚动方向 2向左 3向右 默认向上 1 0 向下 hoverStop: true, //鼠标移入停止 默认为true singleHeight: 30, //单步停顿 waitTime:1000, }, }; }, methods:{ liClick(e,index){ console.log(e); console.log(e.target); console.log(e.target.dataset.title); } } }; </script> <style lang="less" scoped> .warp { height: 270px; width: 360px; margin: 0 auto; overflow: hidden; ul { list-style: none; padding: 0; margin: 0 auto; li, a { background-color: lightblue; margin: 5px 0; display: block; height: 30px; line-height: 30px; display: flex; justify-content: space-between; font-size: 15px; } } }