JavaScript实现公告栏自动上下滚动功能

作者:小圆点时间:2026-10-23 16:32:21浏览:406

本文提供基于JavaScript和CSS的公告栏上下滚动实现方案。通过CSS设置列表样式与布局,利用JavaScript定时器setInterval控制滚动频率,结合DOM操作移除顶部元素并追加至底部,实现无缝循环滚动效果。代码包含HTML结构、CSS样式及JS逻辑,适合前端开发参考。

JavaScript实现公告栏自动上下滚动功能

以下代码展示了如何使用JavaScript实现网页公告栏的上下滚动效果,供开发者参考。


<!DOCTYPE html>
<html>

 <head>
 <meta charset="UTF-8">
 <title>公告栏上下滚动</title>
 </head>
 <style type="text/css">
 body {
 background: grey;
 }
 ul,li{list-style: none;padding: 0;margin: 0;}
 .Roll {
 padding: 0;
 text-align: left;
 text-indent: 10px;
 cursor: pointer;
 opacity: 1;
 height: 6rem;
 line-height: 3rem;
 font-size: 17px;
 background-color: #fff;
 color: #fe172d;
 }
 
 .ul li {
 background-color: #A6E1EC;
 border-radius: 20px;
 height: 2rem;
 margin: 50px auto;
 opacity: 0;
 line-height: 2rem;
 }
 </style>

 <body>
 <div class="Roll" style="overflow: hidden">
 <ul class="ul">
 <li>11111刚刚购买了一单</li>
 <li>22222刚刚购买了一单</li>
 <li>33333刚刚购买了一单</li>
 <li>44444刚刚购买了一单</li>
 <li>55555刚刚购买了一单</li>
 <li>66666刚刚购买了一单</li>
 </ul>
 </div>
 </body>
 <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
 <script type="text/javascript">
 statr = () => { //创造一个循环方法函数
 let first = $('.ul li:first'), //获取列表第一个li
 firstLi = first.clone(); //复制第一个li
 $('.ul li').eq(0).animate({ //列表第一个添加动画,
 marginTop: '-=15px',
 opacity: '1'
 }, 2000)
 setTimeout(function() {
 $('.ul li').eq(0).animate({//列表第二个添加动画,
 marginTop: '-=15px',
 opacity: '0'
 }, 2000);
 setTimeout(function() {//动画结束后删除第一个li
 first.remove();
 }, 2000)
 $('.ul').append(firstLi)//li复制到最后面开始新的一轮循环
 },4000)
 }
 setInterval('statr()', 7000) //7秒循环一次
 </script>

</html>

如需了解更多关于滚动效果的实现技巧,可点击下方的相关专题链接进行查阅:

JavaScript滚动效果相关汇总文章

jQuery滚动效果相关汇总文章

以上就是本文的全部内容,希望能为您的学习提供便利,同时也欢迎大家继续支持本站。

作者最新文章