垂直不间断滚动(JS模块),IE、FF通过

posted by admin on 2009-05-28 | Comments (0) | Last updated on 2011-03-26

查找和对比了n多代码,没有找到特别合适的,只是在结合一些代码之后做些修改,能做到滚动不停歇、不闪烁的滚动。
代码如下:(有更好的请告诉我,学习学习)
JS函数部分
var startmarquee=function(obj,lh,speed,delay){
 var p=false;
 var t=setInterval(scrolling,speed);
 var o=document.getElementById(obj);
 o.innerHTML+=o.innerHTML;
 o.style.marginTop=0;
 
 function start(){
  o.onmouseover=function(){
   p=true;
   clearInterval(t);
   setTimeout(start,delay);
  }
  o.onmouseout=function(){
   p=false;
   setTimeout(start,delay);
  };
  
  if(!p){
   o.style.marginTop=parseInt(o.style.marginTop)-1+"px";
   clearInterval(t);
   t=setInterval(scrolling,speed);
  }
 }

 function scrolling(){
  if(parseInt(o.style.marginTop)%lh!=0)
  {
   o.style.marginTop=parseInt(o.style.marginTop)-1+"px";
   if(Math.abs(parseInt(o.style.marginTop))>=o.scrollHeight/2) o.style.marginTop=0;
  }
  else{
   clearInterval(t);
   setTimeout(start,delay);
  }
 }
 setTimeout(start,delay);
}

调用:
var new1=startmarquee("new1",66,50,2);
参数分别为:滚动div的id,滚动块高度,速度(毫秒),滚动完一个回合暂停时间。

文章评分

发表评论

您的IP: 38.107.179.240 美国 局域网/未知

0个评论

    莫非?这就是传说中的沙发...有木有!