JavaScript实现无缝文字滚动效果

作者:异步漫步时间:2026-10-29 22:50:04浏览:122

本文介绍如何使用JavaScript实现网页文字无缝滚动效果。通过CSS控制容器溢出隐藏与尺寸,利用JS复制内容块实现视觉连续,并配合定时器控制滚动频率及鼠标悬停暂停逻辑,提供完整的HTML、CSS及JS代码示例供参考。

JavaScript文字滚动效果实现

本文分享一段使用JavaScript实现文字滚动效果的完整代码示例,供开发者参考学习。

首先展示预期的运行效果。由于滚动是动态过程,静态页面无法直接呈现最终视觉效果。

JavaScript文字滚动效果实现

具体实现方案包含以下三个部分:

第一步是CSS样式定义:


<style type="text/css">
body,ul,li,a,p,div{padding:0px; margin:0px; font-size:14px;}
ul,li{list-style:none;}
a{ text-decoration:none; color:#333;}
 #demo{
  overflow:hidden; /*溢出的部分不显示*/
  width:290px;
  height:228px;/*一定要确切,避免demo1与demo2之间的距离过大*/
  padding:5px;
  margin:50px auto;
  }
#express li{
   list-style:none;
   font-size:14px;
   height:25px;
   margin:0px 5px;
   line-height:180%;/*行与行之间的距离*/
   letter-spacing:2px;/*字与字之间的距离*/
   border-bottom:1px dashed #ccc;
   cursor:pointer;
   }
</style>

第二步是HTML结构搭建:


<div id="demo" >
 <div id="demo1" >
  <ul id="express">
   <li><a href="#">召开背街小巷综合整治工作调度会</a></li>
   <li><a href="#">平原街道加大出店经营整治</a></li>
   <li><a href="#">平原街道召开计生业务培训会</a></li>
       <li><a href="#">平原街道:干部进村入户宣传促征迁</a></li>
       <li><a href="#">平原街道:为返乡群众免费孕检</a></li>
   <li><a href="#">平原街道:狠抓春运道路交通安全</a></li>   
  </ul>
 </div>
 <div id="demo2"></div>
</div>

第三步是核心的JavaScript逻辑实现:


<script type="text/javascript">
 //获取id=demo,id=demo1,id=demo2的元素对象,并把id=demo1的内容赋值给id=demo2
 var demo=document.getElementById("demo");
 var demo1=document.getElementById("demo1");
 var demo2=document.getElementById("demo2");
 demo2.innerHTML=demo1.innerHTML;
 //给demo1,demo2加相同的高度
 demo1.style.height=demo.offsetHeight+"px";
 demo2.style.height=demo.offsetHeight+"px";
 //定时器,每隔50毫秒调用一次scrollup()函数,来实现文字的滚动
 var timer=window.setInterval("scrollup()",50);
 //定义函数
 function scrollup()
 {
  //如果demo滚上去的高度大于demo的高度,重新给demo赋值从0再开始滑动
  if(demo.scrollTop>=demo.offsetHeight)
  {
   demo.scrollTop=0;
  }else
  {
   demo.scrollTop++;
  }
 }
 //鼠标放上停止滚动,鼠标离开继续滚动
  demo.onmouseover=function(){
         //清除定时器
         clearInterval(timer);
         }
  demo.onmouseout=function(){
         //添加定时器
         timer=window.setInterval("scrollup()",50);
         }

</script>

以上内容即为JavaScript实现文字滚动的完整方案,希望对掌握前端交互设计有所帮助。

作者最新文章