让你的博客飘雪花超出屏幕依然看得见


Posted in Javascript onJanuary 04, 2013

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

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

但是,实际上,超出屏幕的页面我们又看不见,就算有雪花在飘又有什么意义呢。
于是,将原来的代码稍加修改,让他只是从屏幕的顶部飘落到屏幕底部(不是body的底部)后,就将雪花移除,另外将雪花改为fixed定位。

将页面刷新下,果然好多了。现把修改代码贴出来与大家分享。
PS.原作者链接我没找到,版权归原作者所有:)

(function($){ 
$.fn.snow=function(options){ 
var $flake=$('<div />') 
.css({ 
'position':'fixed',//'absolute', 
'top':'-50px', 
'z-index':'1000' 
}) 
.html('❄'); 
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'});
Javascript 相关文章推荐
把html页面的部分内容保存成新的html文件的jquery代码
Nov 12 Javascript
复制小说文本时出现的随机乱码的去除方法
Sep 07 Javascript
面向对象的Javascript之一(初识Javascript)
Jan 20 Javascript
JavaScript 代码压缩工具小结
Feb 27 Javascript
JavaScript在XHTML中的用法详解
Apr 11 Javascript
JQuery each()嵌套使用小结
Apr 18 Javascript
BootStrap点击下拉菜单项后显示一个新的输入框实现代码
May 16 Javascript
JS实现控制文本框的内容
Jul 10 Javascript
jQuery EasyUI Tab 选项卡问题小结
Aug 16 Javascript
AngularJS  $on、$emit和$broadcast的使用
Sep 05 Javascript
KnockoutJS 3.X API 第四章之表单value绑定
Oct 10 Javascript
使用jQuery给Table动态增加行、清空table的方法
Sep 05 jQuery
修改js Calendar日历控件 兼容IE9/谷歌/火狐
Jan 04 #Javascript
jquery入门—选择器实现隔行变色实例代码
Jan 04 #Javascript
jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法
Jan 04 #Javascript
formvalidator验证插件中有关ajax验证问题
Jan 04 #Javascript
使用jquery mobile做幻灯播放效果实现步骤
Jan 04 #Javascript
jquery 插件开发 extjs中的extend用法小结
Jan 04 #Javascript
使用jquery读取html5 localstorage的值的方法
Jan 04 #Javascript
You might like
PHP ? EasyUI DataGrid 资料存的方式介绍
2012/11/07 PHP
phpmyadmin中禁止外网使用的方法
2014/11/04 PHP
PHP实现HTML页面静态化的方法
2015/11/04 PHP
PHP中SSO Cookie登录分析和实现
2015/11/06 PHP
PHP上传文件及图片到七牛的方法
2018/07/25 PHP
javascript call和apply方法
2008/11/24 Javascript
jquery下实现overlay遮罩层代码
2010/08/25 Javascript
js页面跳转的问题(跳转到父页面、最外层页面、本页面)
2013/08/14 Javascript
JS实现图片翻书效果示例代码
2013/09/09 Javascript
jquery实现手风琴效果
2015/11/20 Javascript
jQuery窗口拖动功能的实现代码
2017/02/04 Javascript
JavaScript之map reduce_动力节点Java学院整理
2017/06/29 Javascript
jQuery图片查看插件Magnify开发详解
2017/12/25 jQuery
vue中动态设置meta标签和title标签的方法
2018/07/11 Javascript
微信小程序当前时间时段选择器插件使用方法详解
2018/12/28 Javascript
layui清空,重置表单数据的实例
2019/09/12 Javascript
Vue elementui字体图标显示问题解决方案
2020/08/18 Javascript
[58:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第一场 1月31日
2021/03/11 DOTA
Python 中urls.py:URL dispatcher(路由配置文件)详解
2017/03/24 Python
Sublime开发python程序的示例代码
2018/01/24 Python
Python实现基于PIL和tesseract的验证码识别功能示例
2018/07/11 Python
Tensorflow限制CPU个数实例
2020/02/06 Python
python GUI库图形界面开发之PyQt5选项卡控件QTabWidget详细使用方法与实例
2020/03/01 Python
Python基础类继承重写实现原理解析
2020/04/03 Python
python 错误处理 assert详解
2020/04/20 Python
python中的错误如何查看
2020/07/08 Python
css3设置box-pack和box-align让div里面的元素垂直居中
2014/09/01 HTML / CSS
css3中背景尺寸background-size详解
2014/09/02 HTML / CSS
基于CSS3实现的漂亮Menu菜单效果代码
2015/09/10 HTML / CSS
HTML5的结构和语义(2):结构
2008/10/17 HTML / CSS
日本无添加化妆品:HABA
2016/08/18 全球购物
Sephora丝芙兰澳洲官方网站:国际知名化妆品购物
2016/10/27 全球购物
艺龙旅行网酒店预订:国内、港澳台酒店
2018/06/26 全球购物
美国婴儿和儿童服装购物网站:PatPat
2020/10/01 全球购物
MongoDB balancer的使用详解
2021/04/30 MongoDB
解决ubuntu安装软件时,status-code=409报错的问题
2022/12/24 Servers