实现区域内数据一直循环滚动
html布局
<div class="box" ref="scrollContainer">
<div class="boxItem>111111</div>
<div class="boxItem>111111</div>
<div class="boxItem>111111</div>
</div>
代码部分:
mounted () {
this.startScroll()
},
methods: {
startScroll () {
// 清除定时器
clearTimeout(this.timer)
// 定时器触发周期
this.timer = setInterval(this.scroll, 30)
},
scroll () {
if (this.$refs.scrollContainer) {
const box = this.$refs.scrollContainer
// 组件进行滚动
box.scrollTop += 1
// 判断滚动条是否滚动到底部
if (box.scrollTop == box.scrollHeight - box.clientHeight) {
// 获取组件第一个节点
const firstNode = box.childNodes[0]
box.scrollTop = 0
// 删除节点
box.removeChild(firstNode)
// 将该节点拼接到组件最后
box.append(firstNode)
}
}
}
}
鼠标移入区域停止滚动clearTimeout(this.timer)
鼠标移出区域继续滚动this.startScroll()
转载自:https://segmentfault.com/a/1190000042392829