本文详细介绍如何使用JavaScript结合CSS实现文字列表的无缝滚动效果。通过控制scrollTop属性并配合setTimeout定时器,当滚动高度达到容器一半时重置位置,从而形成视觉上的连续循环。代码包含完整的HTML结构与JS逻辑,可直接参考应用。
JavaScript文字无缝滚动实现
本文分享了利用JavaScript实现文字无缝滚动的完整代码示例,供读者参考学习。
具体运行效果如下图所示:

核心实现代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="gb2312">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title></title>
<style>
*{margin:0;padding:0;}
.div{margin:100px auto 0;width:350px;height:168px; background:#fff;border:5px solid #ccc; border-radius:5px; overflow:hidden;padding:5px; cursor: pointer;}
.div ul li{list-style:none;height:24px; line-height: 24px; text-overflow:ellipsis; font-size: 12px; white-space:nowrap; overflow: hidden;}
</style>
</head>
<body>
<div class="div" id="div">
<ul>
<li>1、分看见地上放声大哭了范上放声大哭了上放声大哭了上放声大哭了上放声大哭了上放声大哭了上放声大哭了上放声大哭了上放声大哭了德萨</li>
<li>2、分看见地上放声大哭了范上放声大哭了上放声大哭了上放声大哭了上放声大哭了上放声大哭了上放声大哭了上放声大哭了德</li>
<li>3、分看见地声大哭了上放声大哭了上放声大哭了上放声大哭了范德</li>
<li>4、分看见地上放声大哭了上放声大哭了上放声大哭了上放声大哭了上放声大哭了上放声大哭了范德</li>
<li>5、分看见地上放声大哭了上放声大哭了上放声大哭了上放声大哭了上放声大哭了上放声大哭了上放声大哭了上放声大哭了范德</li>
<li>6、分看见地上放声大哭了范声大哭了上放声大哭了</li>
<li>7、分看见地上放声大哭了上放声大哭了上放声大哭了范上放声大哭了上放声大哭了德</li>
<li>8、分看见地上放声大哭了上放声大哭了上放声大哭了上放声大哭了范德</li>
</ul>
</div>
<script type="text/javascript">
var area = document.getElementById('div');
var iliHeight = 24;//单行滚动的高度
var speed = 50;//滚动的速度
var time;
var delay= 1000;
area.scrollTop=0;
area.innerHTML+=area.innerHTML;//克隆一份一样的内容
function startScroll()
{
time=setInterval("scrollUp()",speed);
area.scrollTop++;
}
function scrollUp()
{
if(area.scrollTop % iliHeight==0)
{
clearInterval(time);
setTimeout(startScroll,delay);
}else{
area.scrollTop++;
if(area.scrollTop >= area.scrollHeight/2){
area.scrollTop =0;
}
}
}
setTimeout(startScroll,delay)
</script>
</body>
</html>
以上内容即为该功能的完整实现,希望能为读者的JavaScript编程提供实用帮助。