分享

js文字上下,左右滚动js效果,兼容性比较好

 weiledream 2011-11-02
上下滚动:
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www./TR/1999/REC-html401-19991224/loose.dtd">  
  2. <HTML xmlns="http://www./1999/xhtml">  
  3. <head>  
  4. <TITLE>文字上下滚动</TITLE>  
  5. <META http-equiv=Content-Type content="text/html;charset=utf-8">  
  6. <STYLE type=text/css media=screen>  
  7. *{margin:0;padding:0;font-size:12px;}   
  8. a{color:#333;text-decoration:none}   
  9. a:hover{color:#901d22;text-decoration:underline}   
  10. .clear{clear:both;font-size:0;line-height:0;height:0}   
  11. SPAN.darkred{font-size:14px;color:#933}   
  12. #search{border:1px solid #ccc;margin:0 auto;width:950px;margin-bottom:8px;height:29px}   
  13. #commend{width:720px;color:#fff}   
  14. #commend a{color:#333}   
  15. .scrollNews{padding-TOP:4px;position:relative}   
  16. #newscommend{padding-RIGHT:2px;font-weight:normal;overflow:hidden;width:602px;line-height:20px;height:20px}   
  17. .scrollNews div{LEFT:507px;position:absolute;}   
  18. .scrollNews a{CURSOR:pointer}   
  19. .scrollNews IMG{width:25px;height:8px;background:#000;}   
  20. </STYLE>  
  21. </head>  
  22. <body>  
  23. <div id="new_list" style="display:none;">  
  24. <h6><a href="#">宋山木的“温柔论”能成立吗?</a></h6>  
  25. <h6><a href="#">坐在中国最拥挤的火车上</a></h6>  
  26. <h6><a href="#">前卫美女拍比基尼婚纱照</a></h6>  
  27. <h6><a href="#">中南海保镖这么练出来的</a></h6>  
  28. <h6><a href="#">围观景区冬日人体彩绘秀</a></h6>  
  29. <h6><a href="#">贷款修路有尽 为何缴费还贷不止?</a></h6>  
  30. <h6><a href="#">中国“元”级柴电潜艇堪称深海歼20</a></h6>  
  31. <h6><a href="#">辛酸中的感动:为那些骑摩返们</a></h6>  
  32. <h6><a href="#">高房价 让多少未婚女孩当了小三?</a></h6>  
  33. <h6><a href="#">兽内衣模特大赛照!真有料</a></h6>  
  34. </div>  
  35. <div id=search>  
  36.   <div id=commend>  
  37.     <div class=scrollNews>  
  38.       <H3 id=newscommend></H3>  
  39.       <div style="TOP:3px"><a id="pre"><IMG src=""></a></div>  
  40.       <div style="TOP:15px"><a id="next"><IMG src=""></a></div>  
  41.     </div>  
  42.   </div>  
  43. </div>  
  44. <SCRIPT type="text/javascript">  
  45. function scrollnews(){   
  46.             var htext=document.getElementById("new_list").getElementsByTagName("h6");   
  47.             var text_holder=document.getElementById("newscommend");   
  48.             var oFrag=document.createDocumentFragment();   
  49.             oFrag.innerHTML="";   
  50.             for(var i=0;i<htext.length;i++){   
  51.                 oFrag.innerHTML+=htext[i].innerHTML+"  ";   
  52.                 if((i>0&&i%2==1)||(i==htext.length-1&&i%2==0)){   
  53.                     oFrag.innerHTML+="<br/>";   
  54.                 }   
  55.             }   
  56.             text_holder.innerHTML=oFrag.innerHTML;   
  57.         }   
  58.   
  59.         function ScrollText(content,btnPrevious,btnNext,autoStart,timeout,isSmoothScroll){   
  60.             this.Speed=10;   
  61.             this.Timeout=timeout;   
  62.             this.stopscroll=false;   
  63.             this.isSmoothScroll=isSmoothScroll;   
  64.             this.LineHeight=20;   
  65.             thisthis.NextButton=this.$(btnNext);   
  66.             thisthis.PreviousButton=this.$(btnPrevious);   
  67.             thisthis.ScrollContent=this.$(content);   
  68.             this.ScrollContent.innerHTML+=this.ScrollContent.innerHTML;   
  69.             if(this.PreviousButton){   
  70.                 thisthis.PreviousButton.onclick=this.GetFunction(this,"Previous");   
  71.                 thisthis.PreviousButton.onmouseover=this.GetFunction(this,"MouseOver");   
  72.                 thisthis.PreviousButton.onmouseout=this.GetFunction(this,"MouseOut");   
  73.             }   
  74.             if(this.NextButton){   
  75.                 thisthis.NextButton.onclick=this.GetFunction(this,"Next");   
  76.                 thisthis.NextButton.onmouseover=this.GetFunction(this,"MouseOver");   
  77.                 thisthis.NextButton.onmouseout=this.GetFunction(this,"MouseOut");   
  78.             }   
  79.             thisthis.ScrollContent.onmouseover=this.GetFunction(this,"MouseOver");   
  80.             thisthis.ScrollContent.onmouseout=this.GetFunction(this,"MouseOut");   
  81.             if(autoStart){   
  82.                 this.Start();   
  83.             }   
  84.         }   
  85.         ScrollText.prototype={   
  86.             $:function (element){   
  87.                 return document.getElementById(element);   
  88.             },   
  89.             Previous:function (){   
  90.                 this.stopscroll=true;   
  91.                 this.Scroll("up");   
  92.             },   
  93.             Next:function (){   
  94.                 this.stopscroll=true;   
  95.                 this.Scroll("down");   
  96.             },   
  97.             Start:function (){   
  98.                 if(this.isSmoothScroll){   
  99.                     this.AutoScrollTimer=setInterval(this.GetFunction(this,"SmoothScroll"),this.Timeout);   
  100.                 } else{   
  101.                     this.AutoScrollTimer=setInterval(this.GetFunction(this,"AutoScroll"),this.Timeout);   
  102.                 }   
  103.             },   
  104.             Stop:function (){   
  105.                 clearTimeout(this.AutoScrollTimer);   
  106.                 this.DelayTimerStop=0;   
  107.             },   
  108.             MouseOver:function (){   
  109.                 this.stopscroll=true;   
  110.             },   
  111.             MouseOut:function (){   
  112.                 this.stopscroll=false;   
  113.             },   
  114.             AutoScroll:function (){   
  115.                 if(this.stopscroll){   
  116.                     return;   
  117.                 }   
  118.                 this.ScrollContent.scrollTop++;   
  119.                 if(parseInt(this.ScrollContent.scrollTop)%this.LineHeight!=0){   
  120.                     this.ScrollTimer=setTimeout(this.GetFunction(this,"AutoScroll"),this.Speed);   
  121.                 } else{   
  122.                     if(parseInt(this.ScrollContent.scrollTop)>=parseInt(this.ScrollContent.scrollHeight)/2){   
  123.                         this.ScrollContent.scrollTop=0;   
  124.                     }   
  125.                     clearTimeout(this.ScrollTimer);   
  126.                 }   
  127.             },   
  128.             SmoothScroll:function (){   
  129.                 if(this.stopscroll){   
  130.                     return;   
  131.                 }   
  132.                 this.ScrollContent.scrollTop++;   
  133.                 if(parseInt(this.ScrollContent.scrollTop)>=parseInt(this.ScrollContent.scrollHeight)/2){   
  134.                     this.ScrollContent.scrollTop=0;   
  135.                 }   
  136.             },   
  137.             Scroll:function (direction){   
  138.                 if(direction=="up"){   
  139.                     this.ScrollContent.scrollTop--;   
  140.                 } else{   
  141.                     this.ScrollContent.scrollTop++;   
  142.                 }   
  143.                 if(parseInt(this.ScrollContent.scrollTop)>=parseInt(this.ScrollContent.scrollHeight)/2){   
  144.                     this.ScrollContent.scrollTop=0;   
  145.                 } else if(parseInt(this.ScrollContent.scrollTop)<=0){   
  146.                     this.ScrollContent.scrollTop=parseInt(this.ScrollContent.scrollHeight)/2;   
  147.                 }   
  148.   
  149.                 if(parseInt(this.ScrollContent.scrollTop)%this.LineHeight!=0){   
  150.                     this.ScrollTimer=setTimeout(this.GetFunction(this,"Scroll",direction),this.Speed);   
  151.                 }   
  152.             },   
  153.             GetFunction:function (variable,method,param){   
  154.                 return function (){   
  155.                     variable[method](param);   
  156.                 }   
  157.             }   
  158.         }   
  159.     </SCRIPT>  
  160.     <SCRIPT type="text/javascript">  
  161.         scrollnews();   
  162.         var scroll1=new ScrollText("newscommend","pre","next",true,2500,false);   
  163.     </SCRIPT>  
  164. </body>  
  165. </HTML>  

 文字上下滚动
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www./TR/1999/REC-html401-19991224/loose.dtd">
<HTML xmlns="http://www./1999/xhtml">
<head>
<TITLE>文字上下滚动</TITLE>
<META http-equiv=Content-Type content="text/html;charset=utf-8">
<STYLE type=text/css media=screen>
*{margin:0;padding:0;font-size:12px;}
a{color:#333;text-decoration:none}
a:hover{color:#901d22;text-decoration:underline}
.clear{clear:both;font-size:0;line-height:0;height:0}
SPAN.darkred{font-size:14px;color:#933}
#search{border:1px solid #ccc;margin:0 auto;width:950px;margin-bottom:8px;height:29px}
#commend{width:720px;color:#fff}
#commend a{color:#333}
.scrollNews{padding-TOP:4px;position:relative}
#newscommend{padding-RIGHT:2px;font-weight:normal;overflow:hidden;width:602px;line-height:20px;height:20px}
.scrollNews div{LEFT:507px;position:absolute;}
.scrollNews a{CURSOR:pointer}
.scrollNews IMG{width:25px;height:8px;background:#000;}
</STYLE>
</head>
<body>
<div id="new_list" style="display:none;">
<h6><a href="#">宋山木的“温柔论”能成立吗?</a></h6>
<h6><a href="#">坐在中国最拥挤的火车上</a></h6>
<h6><a href="#">前卫美女拍比基尼婚纱照</a></h6>
<h6><a href="#">中南海保镖这么练出来的</a></h6>
<h6><a href="#">围观景区冬日人体彩绘秀</a></h6>
<h6><a href="#">贷款修路有尽 为何缴费还贷不止?</a></h6>
<h6><a href="#">中国“元”级柴电潜艇堪称深海歼20</a></h6>
<h6><a href="#">辛酸中的感动:为那些骑摩返们</a></h6>
<h6><a href="#">高房价 让多少未婚女孩当了小三?</a></h6>
<h6><a href="#">兽内衣模特大赛照!真有料</a></h6>
</div>
<div id=search>
  <div id=commend>
    <div class=scrollNews>
      <H3 id=newscommend></H3>
      <div style="TOP:3px"><a id="pre"><IMG src=""></a></div>
      <div style="TOP:15px"><a id="next"><IMG src=""></a></div>
    </div>
  </div>
</div>
<SCRIPT type="text/javascript">
function scrollnews(){
   var htext=document.getElementById("new_list").getElementsByTagName("h6");
   var text_holder=document.getElementById("newscommend");
   var oFrag=document.createDocumentFragment();
   oFrag.innerHTML="";
   for(var i=0;i<htext.length;i++){
    oFrag.innerHTML+=htext[i].innerHTML+"  ";
    if((i>0&&i%2==1)||(i==htext.length-1&&i%2==0)){
     oFrag.innerHTML+="<br/>";
    }
   }
   text_holder.innerHTML=oFrag.innerHTML;
  }
  function ScrollText(content,btnPrevious,btnNext,autoStart,timeout,isSmoothScroll){
   this.Speed=10;
   this.Timeout=timeout;
   this.stopscroll=false;
   this.isSmoothScroll=isSmoothScroll;
   this.LineHeight=20;
   this.NextButton=this.$(btnNext);
   this.PreviousButton=this.$(btnPrevious);
   this.ScrollContent=this.$(content);
   this.ScrollContent.innerHTML+=this.ScrollContent.innerHTML;
   if(this.PreviousButton){
    this.PreviousButton.onclick=this.GetFunction(this,"Previous");
    this.PreviousButton.onmouseover=this.GetFunction(this,"MouseOver");
    this.PreviousButton.onmouseout=this.GetFunction(this,"MouseOut");
   }
   if(this.NextButton){
    this.NextButton.onclick=this.GetFunction(this,"Next");
    this.NextButton.onmouseover=this.GetFunction(this,"MouseOver");
    this.NextButton.onmouseout=this.GetFunction(this,"MouseOut");
   }
   this.ScrollContent.onmouseover=this.GetFunction(this,"MouseOver");
   this.ScrollContent.onmouseout=this.GetFunction(this,"MouseOut");
   if(autoStart){
    this.Start();
   }
  }
  ScrollText.prototype={
   $:function (element){
    return document.getElementById(element);
   },
   Previous:function (){
    this.stopscroll=true;
    this.Scroll("up");
   },
   Next:function (){
    this.stopscroll=true;
    this.Scroll("down");
   },
   Start:function (){
    if(this.isSmoothScroll){
     this.AutoScrollTimer=setInterval(this.GetFunction(this,"SmoothScroll"),this.Timeout);
    } else{
     this.AutoScrollTimer=setInterval(this.GetFunction(this,"AutoScroll"),this.Timeout);
    }
   },
   Stop:function (){
    clearTimeout(this.AutoScrollTimer);
    this.DelayTimerStop=0;
   },
   MouseOver:function (){
    this.stopscroll=true;
   },
   MouseOut:function (){
    this.stopscroll=false;
   },
   AutoScroll:function (){
    if(this.stopscroll){
     return;
    }
    this.ScrollContent.scrollTop++;
    if(parseInt(this.ScrollContent.scrollTop)%this.LineHeight!=0){
     this.ScrollTimer=setTimeout(this.GetFunction(this,"AutoScroll"),this.Speed);
    } else{
     if(parseInt(this.ScrollContent.scrollTop)>=parseInt(this.ScrollContent.scrollHeight)/2){
      this.ScrollContent.scrollTop=0;
     }
     clearTimeout(this.ScrollTimer);
    }
   },
   SmoothScroll:function (){
    if(this.stopscroll){
     return;
    }
    this.ScrollContent.scrollTop++;
    if(parseInt(this.ScrollContent.scrollTop)>=parseInt(this.ScrollContent.scrollHeight)/2){
     this.ScrollContent.scrollTop=0;
    }
   },
   Scroll:function (direction){
    if(direction=="up"){
     this.ScrollContent.scrollTop--;
    } else{
     this.ScrollContent.scrollTop++;
    }
    if(parseInt(this.ScrollContent.scrollTop)>=parseInt(this.ScrollContent.scrollHeight)/2){
     this.ScrollContent.scrollTop=0;
    } else if(parseInt(this.ScrollContent.scrollTop)<=0){
     this.ScrollContent.scrollTop=parseInt(this.ScrollContent.scrollHeight)/2;
    }
    if(parseInt(this.ScrollContent.scrollTop)%this.LineHeight!=0){
     this.ScrollTimer=setTimeout(this.GetFunction(this,"Scroll",direction),this.Speed);
    }
   },
   GetFunction:function (variable,method,param){
    return function (){
     variable[method](param);
    }
   }
  }
 </SCRIPT>
 <SCRIPT type="text/javascript">
  scrollnews();
  var scroll1=new ScrollText("newscommend","pre","next",true,2500,false);
 </SCRIPT>
</body>
</HTML>
 
左右滚动(修改:文字不够宽度时停止滚动)
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www./TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www./1999/xhtml">  
  3. <head>  
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
  5. <title>JS实现文字无间隙滚动代码</title>  
  6. <style type="text/css">  
  7. body{font-size:12px;}   
  8. .sqBorder {width:938px;margin:0px auto;padding:10px;border:1px #91CD5A solid;background:#DAEEB5;}   
  9. .scroll_div {width:936px;margin:0 auto;overflow: hidden;white-space: nowrap;}   
  10. .scroll_div a:hover{color:#FF0000}   
  11. .scroll_div a{color:#000;margin-right:5px;}   
  12. .scroll_div a img{border:none; vertical-align:middle;}   
  13. #scroll_begin, #scroll_end, #scroll_begin ul, #scroll_end ul, #scroll_begin ul li, #scroll_end ul li{display:inline;}   
  14. </style>  
  15. </head>  
  16. <body>  
  17. <script language="javascript">  
  18. function ScrollImgLeft(){   
  19. var speed=30;   
  20.     var scroll_begin = document.getElementById("scroll_begin");   
  21.     //alert(scroll_begin.scrollWidth);   
  22.     var scroll_end = document.getElementById("scroll_end");   
  23.     var scroll_div = document.getElementById("scroll_div");   
  24.     if (scroll_begin.scrollWidth > parseInt(document.body.clientWidth) / 2) {   
  25.         scroll_end.innerHTML = scroll_begin.innerHTML;   
  26.         function Marquee() {   
  27.             if (scroll_end.offsetWidth - scroll_div.scrollLeft <= 0)   
  28.                 scroll_div.scrollLeft -scroll_begin.offsetWidth   
  29.             else   
  30.                 scroll_div.scrollLeft++   
  31.         }   
  32.         var MyMar = setInterval(Marquee, speed);   
  33.         scroll_div.onmouseover = function() { clearInterval(MyMar) }   
  34.         scroll_div.onmouseout = function() { MyMar = setInterval(Marquee, speed) }   
  35.     }   
  36. }   
  37. </script>  
  38. <div style="text-align:center">  
  39.   <div class="sqBorder">  
  40.     <!--#####滚动区域#####-->  
  41.     <div id="scroll_div" class="scroll_div">  
  42.       <div id="scroll_begin">  
  43.         <ul>  
  44.           <li><a href="#">供需打法在若需寺革基本原则霜期地模压</a></li>  
  45.           <li><a href="#">供需打法在若需寺革基本原则霜期地模压</a></li>  
  46.           <li><a href="#">供需打法在若需寺革基本原则霜期地模压</a></li>  
  47.           <li><a href="#">供需打法在若需寺革基本原则霜期地模压</a></li>  
  48.           <li><a href="#">供需打法在若需寺革基本原则霜期地模压</a></li>  
  49.           <li><a href="#">供需打法在若需寺革基本原则霜期地模压</a></li>  
  50.           <li><a href="#">供需打法在若需寺革基本原则霜期地模压</a></li>  
  51.         </ul>  
  52.       </div>  
  53.       <div id="scroll_end"></div>  
  54.     </div>  
  55.     <!--#####滚动区域#####-->  
  56.   </div>  
  57.   <script type="text/javascript">ScrollImgLeft();</script>  
  58. </div>  
  59. <!--//向左滚动代码结束-->  
  60. </body>  
  61. </html>  

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约