JS中实现让列表自动滚动效果的代码是什么
今天这篇给大家分享的知识是“JS中实现让列表自动滚动效果的代码是什么”,小编觉得挺不错的,对大家学习或是工作可能会有所帮助,对此分享发大家做个参考,希望这篇“JS中实现让列表自动滚动效果的代码是什么”文章能帮助大家解决问题。
感谢各位的阅读,以上就是“JS中实现让列表自动滚动效果的代码是什么”的内容了,经过本文的学习后,相信大家对JS中实现让列表自动滚动效果的代码是什么都有更深刻的体会了吧。这里是博信,小编将为大家推送更多相关知识点的文章,欢迎关注!
1.实现效果图
鼠标移入,暂停滚动; 鼠标移出,继续滚动;
2.原理
要实现无缝衔接,在原有ul后面还要有一个一样内容的ul; 最外层div为可视区域,设overflow:hidden; 2个ul的高度 > 外层可视div高度,才能滚动;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); },
感谢各位的阅读,以上就是“JS中实现让列表自动滚动效果的代码是什么”的内容了,经过本文的学习后,相信大家对JS中实现让列表自动滚动效果的代码是什么都有更深刻的体会了吧。这里是博信,小编将为大家推送更多相关知识点的文章,欢迎关注!
版权声明
本文仅代表作者观点,不代表博信信息网立场。
上一篇:
在Linux中,可以使用以下命令查看当前目录中文件的大小 下一篇:中间件可以分为哪几类