本文介绍如何使用 JavaScript 实现文字列表的无缝上下滚动效果。通过设置容器溢出隐藏、定时移动元素位置,并结合复制节点实现循环滚动。提供完整 HTML/CSS/JS 代码示例及在线运行工具,方便开发者直接测试与集成到项目中。
JavaScript 文字无缝滚动实现
本文通过具体实例,详细讲解了利用 JavaScript 实现文字列表无缝上下滚动的功能方法。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="" />
<title>文字列表无缝滚动代码</title>
<style type="text/css">
*{
margin:0px;
padding:0px;
border:0px;
}
body{font-size:12px}
#demo{
overflow:hidden;
height:80px;
width:280px;
margin:90px auto;
position:relative;
}
#demo1{
height:auto;
text-align:left;
}
#demo2{
height:auto;
text-align:left;
}
#demo1 li{
list-style-type:none;
height:22px;
text-align:left;
text-indent:15px;
}
#demo2 li{
list-style-type:none;
height:22px;
text-align:left;
text-indent:15px;
}
</style>
</head>
<body>
<div id="demo">
<ul id="demo1">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
</ul>
<div id="demo2"></div>
</div>
<script type="text/javascript">
var speed=40
// 向上滚动
var demo=document.getElementById("demo");
var demo2=document.getElementById("demo2");
var demo1=document.getElementById("demo1");
demo2.innerHTML=demo1.innerHTML
function Marquee(){
if(demo.scrollTop>=demo1.offsetHeight){
demo.scrollTop=0;
}
else{
demo.scrollTop=demo.scrollTop+1;
}
}
var MyMar=setInterval(Marquee,speed)
demo.onmouseover=function(){clearInterval(MyMar)}
demo.onmouseout=function(){MyMar=setInterval(Marquee,speed)}
//向下滚动
// demo2.innerHTML=demo1.innerHTML
// demo.scrollTop=demo.scrollHeight
// function Marquee2(){
// if(demo1.offsetTop-demo.scrollTop>=0)
// demo.scrollTop+=demo2.offsetHeight
// else{
// demo.scrollTop--
// }
// }
// var MyMar2=setInterval(Marquee2,speed)
// demo.onmouseover=function() {clearInterval(MyMar2)}
// demo.onmouseout=function() {MyMar2=setInterval(Marquee2,speed)}
</script>
</body>
</html>
读者可以访问在线 HTML/CSS/JavaScript 代码运行工具:http://tools.jb51.net/code/HtmlJsRun,对提供的代码进行实际测试,查看滚动效果。
如需深入了解 JavaScript 相关技术,可参考本站专题:《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》以及《JavaScript数学运算用法总结》。
希望上述内容能对从事 JavaScript 程序开发的读者提供有益的帮助。