20行代码让你的网页内容随意滚动!zz





记得去年的时候吧,CSDN有一篇名为 最简单的无缝滚动程序,只需要五行代码 贴子,引起了很旺的讨论!

而当时就试着用这样的原理来实现流畅的滚动,在CSDN发了篇名为 修改本版中五行代码实现无逢滚动代码,10行代码左右,实现流畅滚动! 的贴子,但是那段代码始终没解决流畅问题。原因就是用了scolltop属性始终有个刷新问题,从而出现闪烁,还有就是行高设置不能很好的控制。

现在改为用margin属性实现滚动,20行javascript可以搞定页面中所有设计到的滚动!!


代码如下:

<!DOCTYPE   html   PUBLIC   "-//W3C//DTD   XHTML   1.0   Transitional//EN"   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
 <html   xmlns="http://www.w3.org/1999/xhtml">  
 <head>  
 <meta   http-equiv="Content-Type"   content="text/html;   charset=utf-8"   />  
 <title>无缝滚动</title>  
 </head>  
   
 <body>  
 <style>a{display:block;font-size:15px};</style>  
 <div   id="div1" style="width:300px;height:68px;overflow:hidden">  
   <div  id="div2" style="margin-top:0px;line-height:20px;">
     <a   href="javascript:">1,你可曾有过无数的梦想,</a> _fcksavedurl=""javascript:">1,你可曾有过无数的梦想,</a>"  
     <a   href="javascript:">2,却在时光的流逝里幻灭   </a>  
     <a   href="javascript:">3,你可曾对未来期待憧憬,</a>  
     <a   href="javascript:">4,却在成长的岁月中迷失</a>  
     <a   href="javascript:">5,CSDN中国程序员论坛</a>  
     <a   href="javascript:">6,大家一起来</a>  
     <a   href="javascript:">7,好象都很不错的样子</a>  
    </div>
 </div>    
 <script>  
 function scrolln(id,samont,step){
   var  d=document.getElementById(id);
  if(!d.scrolln){
    if(step){d.step=step;d.samont=samont;}
    d.scrolln=setInterval("scrolln('"+id+"')",d.samont);
     d.οnmοuseοver=function(){clearInterval(this.scrolln);this.scrolln=null;}  
     d.οnmοuseοut=function(){scrolln(this.id)}
  }
   var top=parseInt(d.style.marginTop);  
  var lineheight=parseInt(d.style.lineHeight);
  if(top>-lineheight){
     d.style.marginTop=(top-d.step)+"px";}
  else{
   do{
   var o=d.firstChild;
   d.removeChild(o);
   d.appendChild(o);
   }while(!d.firstChild.tagName)
   d.style.marginTop="0px";
  }
 }
//第一个参数为要滚动块的标签id,第二个参数为滚动间隔时间,第三个参数为滚动距离px
 scrolln("div2",100,2);
 </script>  
 </body>  
 </html>    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值