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;
}
}
}
