js文字滚动

<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样式也是需要更改的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值