在我所做的游戏活动中,有时会遇到一些文字需要轮播,众所周知我们可以在网页上用<marquee>来控制图片或文字的滚动:
设定活动字幕的滚动方向direction="down":向下 设定活动字幕的滚动方向direction="left":向左 设定活动字幕的滚动方向direction="right":向右 设定活动字幕的滚动方向direction="up":向上
但是这种方法不能无间断的轮播,经过在网上查找一些资料和多位同事的帮助下对轮播的js代码做了一些深入的了解。
var demo = document.getElementById("demo"); var demo1 = document.getElementById("demo1"); var demo2 = document.getElementById("demo2"); var speed=100; demo1.innerHTML+=demo1.innerHTML; demo2.innerHTML = demo1.innerHTML ; //将要轮播的内容进行复制 //轮播的原理是可以看似两个标签中的内容向上滚动,但是两个标签的内容是完全一样的。当第一个标签轮播完后, //这时第二个标签的内容就会滚动出来同时滚动上去的第一个标签经过scrollTop属性的判断让它再回到开始的位置, //因为两个标签的内容是一样的所以就好像是没有间断的滚动 function Marquee(){ if(demo2.offsetHeight-demo.scrollTop<=0) //当滚动至demo1与demo2交界时 demo.scrollTop=0; //demo跳到最顶端 else{ demo.scrollTop++; } } var MyMar = setInterval(Marquee,speed); //设置定时器 demo.onmouseover = function(){clearInterval(MyMar)} ; //鼠标经过时清除定时器达到滚动停止的目的 demo.onmouseout = function(){MyMar = setInterval(Marquee,speed)}
这是关于轮播过程中一些属性的说明
大家可以在这查看http://wenku.baidu.com/view/c74cc31efc4ffe473368ab2c.html