<div id="marquee">
<div id="marquee_text">
<a href="#">关于2020年度市总工会委托审计项目质量评价结果的公告</a>
<a href="#">上海市2021年全国五一劳动奖和全国工人先锋号公示</a>
<a href="#">上海市总工会2021年度部门预算</a>
<a href="#">第六届全国职工优秀技术创新成果交流活动推荐项目公示</a>
<a href="#">关于评选“2017-2019年度上海市厂务公开民主管理工作先进单位”候选名单公示</a>
</div>
</div>
<style>
#marquee_text {
position: absolute;
top: 100%;
left: 0;
}
#marquee_text>a{
display: block;
width: 100%;
color: #000000;
font-size: 14px;
text-indent: 1em;
line-height: 30px;
text-decoration: none;
}
</style>
<script type="text/javascript">
var scroll = document.getElementById("marquee");
var text = document.getElementById("marquee_text");
var scrollHeight = scroll.offsetHeight;
var textHeight = text.offsetHeight;
var i = scrollHeight ;
var suspend = true;
//鼠标移入事件,移入时,滚动暂停
text.onmouseover = function() {
suspend = false
}
//鼠标移出事件,移出时,滚动开始
text.onmouseout = function() {
suspend = true
window.requestAnimationFrame(change);
}
function change() {
i=i-0.5; //此处定义每次滚动距离
if (i < -textHeight ) {
i = scrollHeight ;
}
text .style.top = i + "px"; //定义滚动方向
if(suspend){
window.requestAnimationFrame(change);
}
}
window.requestAnimationFrame(change);
</script>
window.requestAnimationFrame() 这个方法是用来在页面重绘之前,通知浏览器调用一个指定的函数,以满足开发者操作动画的需要。即可以这样说,该方法接受一个函数为参,该函数会在重绘前调用
window.requestAnimationFrame()详细介绍:
window.requestAnimationFrame - Web API 接口参考 | MDN
如需要改为横向滚动 把offsetHeight该为offsetWidth .style.top改为.style.left / .style.right
对应的css样式也是需要更改的