js讓文字上下無縫滾動。
效果:
html代碼:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<style>
* {
margin: 0;
padding: 0;
}
div {
width: 100px;
height: 63px;
/* 必須 */
overflow: hidden;
/* 必須 */
margin: 50px auto;
border: 1px solid red;
text-align: center;
}
ul {
list-style: none;
}
</style>
<body>
<div id="review_box">
<ul id="comment1">
<li>第一條</li>
<li>第二條</li>
<li>第三條</li>
<li>第四條</li>
<li>第五條</li>
<li>第六條</li>
</ul>
<ul id="comment2"></ul>
</div>
</body>
<script>
//聲明的DOM對象為全局
var ul1 = document.getElementById("comment1");
var ul2 = document.getElementById("comment2");
var ulbox = document.getElementById("review_box");
window.onload = roll(50);
function roll(t) {
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() {
// 正常滾動不斷給scrollTop的值+1,當滾動高度大於列表內容高度時恢復為0
if(ulbox.scrollTop >= ul1.scrollHeight) {
ulbox.scrollTop = 0;
} else {
ulbox.scrollTop++;
}
}
</script>
</html>