JS实用的带停顿的逐行文本循环滚动效果实例
如下所示:
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<title>JS实用的带停顿的逐行文本循环滚动效果</title>
<metahttp-equiv="content-type"content="text/html;charset=gb2312">
<styletype="text/css">
#scrollBox2{font-size:12px;width:260px;color:#646464;line-height:22px;height:66px;overflow:hidden;text-align:left;}
</style>
</head>
<body>
<divid="scrollBox2"style="text-align:left;">
欢迎光临
实用的逐行文本滚动效果<br>
滚动一行至另一行时有所停顿<br>
希望大家喜欢,感觉挺简洁的代码<br>
</div>
<script>
window.onload=function(){
newMarquee(
"scrollBox2",//容器ID<br>
0,//向上滚动(0向上1向下2向左3向右)<br>
2,//滚动的步长<br>
200,//容器可视宽度<br>
64,//容器可视高度<br>
50,//定时器数值越小,滚动的速度越快(1000=1秒,建议不小于20)<br>
2000,//间歇停顿时间(0为不停顿,1000=1秒)<br>
1000,//开始时的等待时间(0为不等待,1000=1秒)<br>
//间歇滚动间距(可选)<br>
);
};
functionMarquee(){
this.ID=document.getElementById(arguments[0]);
this.Direction=arguments[1];
this.Step=arguments[2];
this.Width=arguments[3];
this.Height=arguments[4];
this.Timer=arguments[5];
this.WaitTime=arguments[6];
this.StopTime=arguments[7];
if(arguments[8]){this.ScrollStep=arguments[8];}else{this.ScrollStep=this.Direction>1?this.Width:this.Height;}
this.CTL=this.StartID=this.Stop=this.MouseOver=0;
this.ID.style.overflowX=this.ID.style.overflowY="hidden";
this.ID.noWrap=true;
this.ID.style.width=this.Width;
this.ID.style.height=this.Height;
this.ClientScroll=this.Direction>1?this.ID.scrollWidth:this.ID.scrollHeight;
this.ID.innerHTML+=this.ID.innerHTML;
this.Start(this,this.Timer,this.WaitTime,this.StopTime);
}
Marquee.prototype.Start=function(msobj,timer,waittime,stoptime){
msobj.StartID=function(){msobj.Scroll();}
msobj.Continue=function(){
if(msobj.MouseOver==1){setTimeout(msobj.Continue,waittime);}
else{clearInterval(msobj.TimerID);msobj.CTL=msobj.Stop=0;msobj.TimerID=setInterval(msobj.StartID,timer);}
}
msobj.Pause=function(){msobj.Stop=1;clearInterval(msobj.TimerID);setTimeout(msobj.Continue,waittime);}
msobj.Begin=function(){
msobj.TimerID=setInterval(msobj.StartID,timer);
msobj.ID.onmouseover=function(){msobj.MouseOver=1;clearInterval(msobj.TimerID);}
msobj.ID.onmouseout=function(){msobj.MouseOver=0;if(msobj.Stop==0){clearInterval(msobj.TimerID);msobj.TimerID=setInterval(msobj.StartID,timer);}}
}
setTimeout(msobj.Begin,stoptime);
}
Marquee.prototype.Scroll=function(){
switch(this.Direction){
case0:
this.CTL+=this.Step;
if(this.CTL>=this.ScrollStep&&this.WaitTime>0){this.ID.scrollTop+=this.ScrollStep+this.Step-this.CTL;this.Pause();return;}
else{if(this.ID.scrollTop>=this.ClientScroll)this.ID.scrollTop-=this.ClientScroll;this.ID.scrollTop+=this.Step;}
break;
case1:
this.CTL+=this.Step;
if(this.CTL>=this.ScrollStep&&this.WaitTime>0){this.ID.scrollTop-=this.ScrollStep+this.Step-this.CTL;this.Pause();return;}
else{if(this.ID.scrollTop<=0)this.ID.scrollTop+=this.ClientScroll;this.ID.scrollTop-=this.Step;}
break;
case2:
this.CTL+=this.Step;
if(this.CTL>=this.ScrollStep&&this.WaitTime>0){this.ID.scrollLeft+=this.ScrollStep+this.Step-this.CTL;this.Pause();return;}
else{if(this.ID.scrollLeft>=this.ClientScroll)this.ID.scrollLeft-=this.ClientScroll;this.ID.scrollLeft+=this.Step;}
break;
case3:
this.CTL+=this.Step;
if(this.CTL>=this.ScrollStep&&this.WaitTime>0){this.ID.scrollLeft-=this.ScrollStep+this.Step-this.CTL;this.Pause();return;}
else{if(this.ID.scrollLeft<=0)this.ID.scrollLeft+=this.ClientScroll;this.ID.scrollLeft-=this.Step;}
break;
}
}
</script>
</body>
</html>
<br><br><hr>
以上这篇JS实用的带停顿的逐行文本循环滚动效果实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短