本文实例为大家分享了js实现列表自动滚动循环播放的具体代码,供大家参考,具体内容如下
1.实现效果图
鼠标移入,暂停滚动; 鼠标移出,继续滚动;

2.原理
3.实现代码
html:
<!-- vue --> <div id="review_box" @mouseover="rollStop()" @mouseout="rollStart(60)"> <ul id="comment1"> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> </ul> <ul id="comment2"></ul> </div>
css:
div {
height: 100px; /* 必须 */
overflow: hidden;/* 必须 */
}
js:
//vue data
data (){
return {
timer: null,
}
},
mounted() {
this.roll(60);
},
beforeDestroy() {
if (this.timer) clearInterval(this.timer);
},
//vue methods
roll(t) {
var ul1 = document.getElementById("comment1");
var ul2 = document.getElementById("comment2");
var ulbox = document.getElementById("review_box");
ul2.innerHTML = ul1.innerHTML;
ulbox.scrollTop = 0;
this.rollStart(t);
},
rollStart(t) {
var ul1 = document.getElementById("comment1");
var ul2 = document.getElementById("comment2");
var ulbox = document.getElementById("review_box");
this.rollStop();
this.timer = setInterval(()=>{
// 当滚动高度大于列表内容高度时恢复为0
if (ulbox.scrollTop >= ul1.scrollHeight) {
ulbox.scrollTop = 0;
} else {
ulbox.scrollTop++;
}
}, t);
},
rollStop(){
clearInterval(this.timer);
},免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
长按识别二维码并关注微信
更方便到期提醒、手机管理