js移动div实现文字横向滚动

      要实现这样一个功能,文字在某块区域内横向无间隙滚动。

      我一开始想到的标签是marquee,因为它可以实现横向滚动。经理说它的起始位置从最右边出来的,能不能将它改成从中间出来,或者从最左边出来也行。查了相关资料,才知道marquee标签无法指定起始位置。后来在网上找到一段代码,它是用图片来实现的,我将图片改成文字之后,顺利地实现了我所想要的功能。代码如下:

<style type="text/css">
#gongaodiv{width:1000px;height:30px;overflow:hidden;line-height:30px;font-size:13px;font-family:'宋体';background:#DDE5ED;color:#0C77CF;font-weight:bold;}
#gongaodiv #scroll_begin, #gongao #scroll_end{display:inline}
</style>
<script type="text/javascript">
function ScrollImgLeft(){
var speed=50;
var scroll_begin = document.getElementById("scroll_begin");
var scroll_end = document.getElementById("scroll_end");
var scroll_div = document.getElementById("scroll_div");
scroll_end.innerHTML=scroll_begin.innerHTML;
function Marquee(){
if(scroll_end.offsetWidth-scroll_div.scrollLeft<=0)
scroll_div.scrollLeft-=scroll_begin.offsetWidth;
else
scroll_div.scrollLeft++;
}
var MyMar=setInterval(Marquee,speed);
scroll_div.οnmοuseοver=function() {clearInterval(MyMar);}
scroll_div.οnmοuseοut=function() {MyMar=setInterval(Marquee,speed);}
}
</script>
<div id="gongaodiv">
<div style="width:900px;height:30px;margin:0 auto;white-space: nowrap;overflow:hidden;" id="scroll_div" class="scroll_div">
<div id="scroll_begin">
${affiche.content} ${affiche.content} ${affiche.content}
${affiche.content} ${affiche.content} ${affiche.content}
</div>
<div id="scroll_end"></div>
</div>
<script type="text/javascript">ScrollImgLeft();</script>
</div>

这里${affiche.content}是从数据库取出来的文字。

之所以在scroll_begin的div里面写这个多重复的文字,是因为这些文字的长度必须要大于scroll_div的div容器。如果小于div容易,则不会有一直滚动的效果。

换句话说:无缝滚动的内容宽度加起来必须要大于容器的宽度。

转载于:https://www.cnblogs.com/Henry_zp/archive/2010/12/30/1921376.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值