顺晟科技
2021-06-16 10:50:04
230
如题,其实雪花效果并不是什么新鲜的花样了,网上有很多现成的,我在2014年圣诞节的时候用框架也写过雪花的效果(传送门),今天突然想着给自己博客加点啥效果,画布和挽救(保存的简写)的网上也有很多,不过目前我先不考虑,就用原生射流研究…搞个简单些的能用就可以了。
于是,就想到了雪花飘飘~~
具体效果呢,可以参考本站。
PS:如果本站关闭了该的话,可以把下面分享的源码复制粘贴到自己的网站中去看效果。
好了,废话不多说了,现在就将源码贴出来。
代码如下:
一
2
3
四
5
6
七
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
脚本类型='text/javascript '
//~雪雪花飘落
//设置雪花数量(不建议超过30-40个)
var snowmax=30
//设置雪的颜色,可添加任意颜色
var snowcolor=['#FFDA65 ',' #00AADD ',' #aaaacc ',' #ddddff ',' # ccccdd ',' #f3f3f3 ',' #f0ffff ',' #bbf7f9']
//设置创建雪花的字体,可添加任意字体
var snowtype=['Times ',' Arial ',' Verdana']
//设置创建雪花的字母(推荐:*)
var snowletter='* '
//设置下沉速度(建议值范围为0.3到2)
变化下沉速度=0.6
//设置雪花的更大大小
var snowmaxsize=32
//设置雪花的最小大小
var snowminsize=8
//设置下雪区,1:全屏,2:左侧,3:中间,4:右侧
var snowingzone=1
///////////////////////////////////////////////////////////////////////////
var snow=[]
var marginbottom
var marginright
定义变量计时器
var i_snow=0
var x_mv=[]
var crds=[]
var lft right=[]
var browserinfos=navigator。用户代理人
var ie5=文档。所有文件。getelementbyid!browserinfos.match(/Opera/)
var ns6=document.getElementById!文档。全部
var Opera=browserinfos。匹配(/Opera/)
var browserok=ie5 | | ns6 | | opera
功能randommaker(范围){
rand=Math.floor(范围* Math.random())
返回兰特
}
函数initsnow() {
if (ie5 || opera) {
页边距底部=文档。尸体。滚动高度-80
右边距=文档。尸体。客户端宽度-15
} else if (ns6) {
边距底部=文档。尸体。滚动高度-80
右边距=窗口。内部宽度-15
}
var snowsizerange=snowaxsize-snowinsize
for(var I=0;I=snow axi){
crds[I]=0;
数学。random()* 15;
x _ mv[I]=0.03数学。random()/10;
文件。GetElementbyID(' s ' I)
雪[我]。风格。font family=snow type[randommaker(snow type。长度)]
斯诺[我]。size=randommaker(snowsizerange)snowinsize
snow[i].style.fontSize=snow[i].大小“px”;
雪[我]。风格。color=snow color[randommaker(雪色。长度)]
snow[i].style.zIndex=1000
斯诺[我]。sink=sinkspeed*snow[i].尺寸/5
if (snowingzone==1) {snow[i].posx=randommaker(右边距-雪[I].大小)}
if (snowingzone==2) {snow[i].posx=randommaker(右边距/2-snow[I]).大小)}
if (snowingzone==3) {snow[i].posx=randommaker(右边距/2-snow[I]).尺寸)余量/4}
if (snowingzone==4) {snow[i].posx=randommaker(右边距/2-snow[I]).尺寸)余量/2}
斯诺[我]。posy=randommaker(2 * margin bottom-margin bottom-2 * snow[I].尺寸)
snow[i].style.left=snow[i].posx ' px
雪[i].posy ' px
}
movesnow()
}
函数movesnow() {
for(var I=0;I=snow axi){
crds[I]=x _ mv[I];
斯诺[我]。posy=snow[i].水槽
snow[i].style.left=snow[i].posx lft右[I]*数学。sin(crds[I])“px”;
雪[i].posy ' px
if (snow[i].posy=marginbottom-2*snow[i].大小| | ParSeint(雪[I]。风格。左)(右边距-3 * lft右[I]){
if (snowingzone==1) {snow[i].posx=randommaker(右边距-雪[I].大小)}
if (snowingzone==2) {snow[i].posx=randommaker(右边距/2-snow[I]).大小)}
if (snowingzone==3) {snow[i].posx=randommaker(右边距/2-snow[I]).尺寸)余量/4}
if (snowingzone==4) {snow[i].posx=randommaker(右边距/2-snow[I]).尺寸)余量/2}
斯诺[我]。posy=0
}
}
var timer=setTimeout('movesnow()',50)
}
for(var I=0;I=snow axi){
文件。写(' span id=' s ' I ' ' style=' position : absolute;top :-'雪轴尺寸' ' '雪字母'/span ')
}
if(browserk){
window.onload=initsnow
}
/script
只需要把这段代码复制粘贴到你自己网站的页脚中去即可,其中雪花的大小、颜色、飘落速度啥的都可以自行修改。
08
1972-02
02
2022-09
16
2021-06
16
2021-06
16
2021-06
16
2021-06