<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style type="text/css">
* {
margin: 0;
padding: 0;
}
div {
width: 300px;
height: 150px;
overflow: hidden; /* 内容会被修剪,并且其余内容是不可见的 */
margin: 50px auto;
border: 1px solid gray;
text-align: center;
}
ul {
list-style: none;
}
li {
height: 30px;
}
</style>
</head>
<body>
<div id="review_box">
<ul id="comment1">
<li>第一条:美女渭桥东,春还事蚕作。</li>
<li>第二条:五马如飞龙,青丝结金络。</li>
<li>第三条:不知谁家子,调笑来相谑。</li>
<li>第四条:妾本秦罗敷,玉颜艳名都。</li>
<li>第五条:绿条映素手,采桑向城隅。</li>
<li>第六条:使君且不顾,况复论秋胡。</li>
<li>第七条:寒螀爱碧草,鸣凤栖青梧。</li>
<li>第八条:托心自有处,但怪傍人愚。</li>
<li>第九条:徒令白日暮,高驾空踟蹰。</li>
</ul>
<ul id="comment2"></ul>
</div>
<script>
window.onload = roll(50);
function 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; // 开始无滚动时设为0
var timer = setInterval(rollStart, t); // 设置定时器,参数t用在这为间隔时间(单位毫秒),参数t越小,滚动速度越快
// 鼠标移入div时暂停滚动
ulbox.onmouseover = function () {
clearInterval(timer);
}
// 鼠标移出div后继续滚动
ulbox.onmouseout = function () {
timer = setInterval(rollStart, t);
}
}
// 开始滚动函数
function rollStart() {
// 上面声明的DOM对象为局部对象需要再次声明
var ul1 = document.getElementById("comment1");
var ul2 = document.getElementById("comment2");
var ulbox = document.getElementById("review_box");
// 正常滚动不断给scrollTop的值+1,当滚动高度大于列表内容高度时恢复为0
if (ulbox.scrollTop >= ul1.scrollHeight) {
ulbox.scrollTop = 0;
} else {
ulbox.scrollTop++;
}
}
</script>
</body>
</html>