好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

飘雪花

飘雪花

使你的博客飘雪花(优化版)

 

前些天,在园子里看到了使你的博客飘雪花的文章,就赶紧弄到自己的博客里来看看效果,别说,还真是漂亮啊。可是看了一会,就发现页面变得特别卡。

看了下代码后发现,原作者是在body中不停的插入多个小div雪花来向下慢慢飘,一直飘到body的底部后,将雪花移除。

但是,实际上,超出屏幕的页面我们又看不见,就算有雪花在飘又有什么意义呢。

于是,将原来的代码稍加修改,让他只是从屏幕的顶部飘落到屏幕底部(不是body的底部)后,就将雪花移除,另外将雪花改为fixed定位。

将页面刷新下,果然好多了。现把修改代码贴出来与大家分享。

PS.原作者链接我没找到,版权归原作者所有:)

( function  ($){
    $.fn.snow = function  (options){
          var  $flake=$('<div />' )
            .css({
                 'position':'fixed', //  'absolute', 
                'top':'-50px' ,
                 'z-index':'1000' 
                })
            .html( '&#10052;' );
          var  documentHeight=document.documentElement.clientHeight; //  $(document).height(); 
         var  documentWidth= $(document).width();
          var  defaults={minSize:10,maxSize:20,newOn:500,flakeColor:"#FFFFFF" };
          var  options= $.extend({},defaults,options);
          var  interval=setInterval( function  (){
              var  startPositionLeft=Math.random()*documentWidth-100 ;
              var  startOpacity=0.5+ Math.random();
              var  sizeFlake=options.minSize+Math.random()* options.maxSize;
              var  endPositionTop=documentHeight-40 ;
              var  endPositionLeft=startPositionLeft-100+Math.random()*200 ;
              var  durationFall=documentHeight*10+Math.random()*5000 ;
            $flake.clone()
                  .appendTo( 'body' )
                  .css({
                        left:startPositionLeft,
                        opacity:startOpacity,
                         'font-size' :sizeFlake,
                        color:options.flakeColor
                      })
                  .animate({
                            top:endPositionTop,
                            left:endPositionLeft,
                            opacity: 0.2 
                        },
                        durationFall,
                         'linear' ,
                          function  (){
                            $(  this  ).remove();
                        });
        },options.newOn);  //  interval End 
    }; //  $.fn.snow End 
 })(jQuery); 

$.fn.snow({ minSize:  10, maxSize: 60, newOn: 800, flakeColor: '#ccc'});

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

 

分类:  Web前端

作者: Leo_wl

    

出处: http://www.cnblogs.com/Leo_wl/

    

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

版权信息

查看更多关于飘雪花的详细内容...

  阅读:34次