本文提供基于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滚动效果相关汇总文章
以上就是本文的全部内容,希望能为您的学习提供便利,同时也欢迎大家继续支持本站。