广

JavaScript

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    JS模拟新浪微博大厅和腾讯微博首页微博消息代码

    2018-04-04 08:35:44 次阅读 稿源:互联网
    零七广告

    新浪微博大厅和腾讯微博首页的微博消息渐显渐隐的向下滚动效果还是挺不错的,淡静又不显得花哨,个人感觉非常实用。于是乎用 javascript 也模拟实现了新浪微博和腾讯微博那种消息滚动的效果。现将代码贴在下面,感兴趣的朋友可以试试。

    1. <!DOCTYPE html> 
    2. <html>  
    3. <head>  
    4. <meta charset="utf-8" />  
    5. <title>JS实现模拟新浪微博和腾讯微博首页滚动效果_www.phpernote.com</title>  
    6. <style type="text/css">  
    7. *{ margin:0;padding:0;} 
    8. body{ font:12px/1.8 Arial;color:#666;margin:0;height:100%;background:#333;} 
    9. .wrapper{padding:50px;} 
    10. ul,li{margin:0;padding:0;list-style:none} 
    11. .wp{position:relative;width:800px;height:400px;overflow:hidden;margin:20px auto;border:4px solid #121212;background:#fff;} 
    12. .slider{position:absolute;width:760px;padding:0 20px;left:0;top:0;} 
    13. .slider li{padding:20px 0;border-bottom:1px dashed #ccc;overflow:hidden;width:100%} 
    14. </style>  
    15. <script type="text/javascript"> 
    16. function H$(i){return document.getElementById(i)}function H$$(c,p){return p.getElementsByTagName(c)}var slider=function(){function inits(o){this.id=o.id;this.at=o.auto?o.auto:3;this.o=0;this.pos()}inits.prototype={pos:function(){clearInterval(this.__b);this.o=0;var el=H$(this.id),li=H$$("li",el),l=li.length;var _t=li[l-1].offsetHeight;var cl=li[l-1].cloneNode(true);cl.style.opacity=0;cl.style.filter="alpha(opacity=0)";el.insertBefore(cl,el.firstChild);el.style.top=-_t+"px";this.anim()},anim:function(){var _this=this;this.__a=setInterval(function(){_this.animH()},20)},animH:function(){var _t=parseInt(H$(this.id).style.top),_this=this;if(_t>=-1){clearInterval(this.__a);H$(this.id).style.top=0;var list=H$$("li",H$(this.id));H$(this.id).removeChild(list[list.length-1]);this.__c=setInterval(function(){_this.animO()},20)}else{var __t=Math.abs(_t)-Math.ceil(Math.abs(_t)*0.07);H$(this.id).style.top=-__t+"px"}},animO:function(){this.o+=2;if(this.o==100){clearInterval(this.__c);H$$("li",H$(this.id))[0].style.opacity=1;H$$("li",H$(this.id))[0].style.filter="alpha(opacity=100)";this.auto()}else{H$$("li",H$(this.id))[0].style.opacity=this.o/100;H$$("li",H$(this.id))[0].style.filter="alpha(opacity="+this.o+")"}},auto:function(){var _this=this;this.__b=setInterval(function(){_this.pos()},this.at*1000)}};return inits}(); 
    17. </script> 
    18.  
    19. <body> 
    20. <h1 class="tit-h1">JS实现模拟新浪微博大厅和腾讯微博首页滚动效果 www.phpernote.com</h1> 
    21. <div class="wrapper"> 
    22.     <div class="wp"> 
    23.         <ul id="slider" class="slider"> 
    24.             <li>入山又恐别倾城  世间安得双全 不负如来不负卿 </li> 
    25.             <li>第一最好不相见,如此便可不相恋。 </li> 
    26.             <li>那一天 闭目在经殿香雾</li> 
    27.             <li>你见 或者不见我  我就在那里</li> 
    28.         </ul> 
    29.     </div> 
    30. </div> 
    31. <script type="text/javascript">new slider({id:'slider'});</script> 
    32. </body>  
    33. </html> 

    以上代码复制保存为 html 文档即可看到效果,效果如下图:

    JS实现模拟新浪微博大厅和腾讯微博首页微博消息滚动效果

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七广告
    零七广告
    零七广告
    零七广告