div+css+js 实现Marquee

由于需要做一个无缝滚动的效果,于是使用<marquee><font size=+3 color=red>Hello, World</font></marquee> 该标签很方便使用起来这是简单的例子。关于<marquee></marquee>大家可以参考http://www.w3school.com.cn/cssref/index.asp#animation css使用手册。在此不做详细介绍。

  之所以没有使用该标签 是因为 他不兼容火狐浏览器(IE、谷歌兼容)为了考虑兼容性 所以动手自己写一个类似的效果。通过查找资料发现div+css+js 就可以实现上下无缝滚动效果。左右同理。代码如下:简单css 显示a 标签

<STYLE type=text/css>
#test a {
	width: 100%;
	overflow: hidden;
	font: 12px/16px tahoma;
	display: block;
	text-decoration: none;
	margin: 2px;
	color: #4a551c;
	padding-left: 2px;
	text-align: left;
}

#test a:hover {
	color:yellow;
}
</STYLE>
<body>里三个DIV 如下:
	<div id="test"
		style="overflow: hidden; height: 136px; width: 400px;background-color: blue">
		<div id=test1   style="background-color: red;">
			  <a href="#">1111111</a> <a href="#">22222</a>
			<a href="#">3333</a> <a href="#">44444</a>
			<a href="#">5555</a> <a href="#">66666</a>
			<a href="#">77777</a> <a href="#">88888</a>
		</div>
		<div id=test2  style="background-color:green "></div>
	</div>
最重要一步就是js 这个需要放到html 内容执行完之后执行 不然获取不到div 

	<script>
		var speed = 50
		var test = document.getElementById("test");
		var test1 = document.getElementById("test1");
		var test2 = document.getElementById("test2");
		test2.innerHTML = test1.innerHTML
		function MarqueeTest() {
			if (test2.offsetTop - test.scrollTop <= 0){
				test.scrollTop -= test1.offsetHeight
		}else {
				test.scrollTop=test.scrollTop+1;
			}
		}
		var MyMarquee = setInterval(MarqueeTest, speed)
		test.onmouseover = function() {
			clearInterval(MyMarquee)
		}
		test.onmouseout = function() {
			MyMarquee = setInterval(MarqueeTest, speed)
		}
	</script>
</body>
注意几点:滚动效果需要在子div长度大于父DIV 才会显示滚动效果 也就test 的高度需要小于等于test1的高度。不然不会循环滚动。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蜗牛乌龟一起走

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值