这篇文章主要为大家详细介绍了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>