jQuery插件 飘雪效果 圣诞来临给你的网站装点下吧

寻技术 JQuery 2023年07月11日 84

如果您在此刻浏览本站. 降看到雪花纷飞的效果.

来源:http://www.somethinghitme.com/2011/10/05/jquery-snowfall-1-5-update-now-with-snow-buildup/

也可以下载这里:https://files.cnblogs.com/noyobo/snowfall.jquery.rar

本站使用的是 :https://files.cnblogs.com/noyobo/snowfall.jquery.js

经过我修改的使用方法:

$(document).snowfall({yous options});
/*  flakeCount : 35, 雪花的个数
	flakeColor : '#ffffff', 雪花的颜色
	flakeIndex: 999999,
	minSize : 1, 最小尺寸
	maxSize : 2, 最大尺寸
	minSpeed : 1, 最小位移
	maxSpeed : 5, 最大位移
	shadow : false, 是否显示阴影
        snowType: "pic", // pic | shape | round 3种类型
	picUrl: '', 图片的路径 开启 snowType == pic 指定的路径
	collection : false,  是否收集
	collectionHeight : 40 收集容器 的 高度.
	intTime:80 移动的速度.
*/

经过我修改的 .一些参数兼容 IE处理的.

 switch(options.snowType){
case "pic":
var flakeMarkup = $(document.createElement("img")).attr({'class': 'snowfall-flakes', 'id' : 'flake-' + this.id}).css({'width' : mathSize, 'height' : mathSize, 'position' : 'absolute', 'top' : this.y, 'left' : this.x, 'zIndex' : options.flakeIndex,'-ms-interpolation-mode': 'bicubic'}).attr("src",options.picUrl + "snow" + Math.floor(Math.random() * 4) + ".gif");
break;
case "shape":
var flakeMarkup = $(document.createElement("div")).attr({'class': 'snowfall-flakes', 'id' : 'flake-' + this.id}).css({'width' : mathSize, 'height' : mathSize, 'position' : 'absolute', 'top' : this.y, 'left' : this.x, 'fontSize' : mathSize, 'zIndex' : options.flakeIndex, "color":options.flakeColor}).html(options.snowShape[Math.floor(Math.random() * 4)]);
break;
default:
var flakeMarkup = $(document.createElement("div")).attr({'class': 'snowfall-flakes', 'id' : 'flake-' + this.id}).css({'width' : mathSize, 'height' : mathSize, 'position' : 'absolute', 'top' : this.y, 'left' : this.x, 'fontSize' : mathSize, 'zIndex' : options.flakeIndex});
}

snowType 有3中类型.

pic 为图片. shape 图形 snowShape:["❈","✲","❉","❄"] 为一个图形 unicode码. round 为圆点. 就是本网站现在使用的效果.

由于使用 border-radiue css3特性不兼容IE 特增加以下代码:

 if(options.snowType == "round"){
if($.browser.msie){
$('.snowfall-flakes').text(String.fromCharCode(9679)).css({'color':options.flakeColor});
}else{
$('.snowfall-flakes').css({'-moz-border-radius' : options.maxSize, '-webkit-border-radius' : options.maxSize, 'border-radius' : options.maxSize,'background-color':options.flakeColor});
}
}

如果是IE系列 则替换为 ● 符号. 来实现圆点雪花效果. 否则使用 border-radius 修饰圆点.

当 shadow:ture 的时候 会呈现阴影.如本站所实例

 if(options.shadow){
$('.snowfall-flakes').css({'-moz-box-shadow' : '1px 1px 1px #555', '-webkit-box-shadow' : '1px 1px 1px #555', 'box-shadow' : '1px 1px 1px #555'});
}


完整示例下载

/*  flakeCount : 35, 雪花的个数
            flakeColor : '#ffffff', 雪花的颜色
            flakeIndex: 999999,
            minSize : 1, 最小尺寸
            maxSize : 2, 最大尺寸
            minSpeed : 1, 最小位移
            maxSpeed : 5, 最大位移
            shadow : false, 是否显示阴影
            picUrl: '', 图片的路径 开启 snowType == pic 指定的路径
            collection : false,  是否收集
            collectionHeight : 40 收集容器 的 高度.
            intTime:80 移动的速度.
        */

关闭

用微信“扫一扫”