js实现的文字横向无间断滚动
我一开始想到的标签是<marquee>,因为它可以实现横向滚动。经理说它的起始位置从最右边出来的,能不能将它改成从中间出来,或者从最左边出来也行。查了相关资料,才知道<marquee>无法指定起始位置。后来在网上找到一段代码,它是用图片来实现的,我将图片改成文字之后,顺利地实现了我所想要的功能。代码如下:
#gongao{width:1000px;height:30px;overflow:hidden;line-height:30px;font-size:13px;font-family:'宋体';background:#DDE5ED;color:#0C77CF;font-weight:bold;}
#gongao #scroll_begin, #gongao #scroll_end{display:inline}
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
${affiche.content} ${affiche.content} ${affiche.content}
${affiche.content} ${affiche.content} ${affiche.content}
ScrollImgLeft();
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
这里${affiche.content}是从数据库取出来的文字。
之所以在scroll_begin的div里面写这个多重复的文字,是因为这些文字的长度必须要大于scroll_div的div容器。如果小于div容易,则不会有一直滚动的效果。
换句话说:无缝滚动的内容宽度加起来必须要大于容器的宽度。