当前位置:首页 > 网页特效 > 文字特效 >

三行文字成批间隙滚动的走马灯效果

时间:2014-06-08 00:03 来源:互联网 作者:源码搜藏 收藏 推荐

运行代码 保存代码 复制代码 提示:您可以先修改部分代码再运行,保存代码功能在Firefox下无效。
  • 三组文字成批间歇滚动,有停顿,简单修改下代码就可实现上、下、左、右方向的滚动,以及间歇时间、滚动步长和等待时间等,在一些股票类网站经常能看到。
  • <script>
    window.onload=function(){
      new Marquee(
        "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 />
        22  //间歇滚动间距(可选)<br />
        );
      };
    function Marquee(){
      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){
        case 0:
          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;
        case 1:
          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;
        case 2:
          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;
        case 3:
          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>
由源码搜藏网整理,转载请注明出处https://www.codesocang.com/tx-wenzi/8543.html

文字特效下载排行

最新文章