
这篇文章主要为大家详细介绍了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>111111111111刚刚购买了一单</li>
- <li>222222222222刚刚购买了一单</li>
- <li>333333333333刚刚购买了一单</li>
- <li>444444444444刚刚购买了一单</li>
- <li>555555555555刚刚购买了一单</li>
- <li>QQ3131282664刚刚购买了一单</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>