html5怎样在页面中加入雪花效果

html5怎样在页面中加入雪花效果,第1张

在后台添加js特效可实现这样的效果。

js代码为:

<script language="JavaScript">

<!--

var no = 5//雪片数目

var speed = 20//飘动速度。(值越大越慢)

var ns4up = (document.layers) ? 1 : 0//当前浏览器类型,如果是NS则为1

var ie4up = (document.all) ? 1 : 0//当前浏览器类型,如果是IE则为1

var s, x, y, sn, cs

var a, r, cx, cy

var i, doc_width = 800, doc_height = 600

x = new Array()

y = new Array()

r = new Array()

cx = new Array()

cy = new Array()

s = 8//每次下落的高度,越小越平滑,但是也越慢

if (ns4up) { //以NS兼容方式

doc_width = self.innerWidth//取页面宽度

doc_height = self.innerHeight//取页面高度

}

else

if (ie4up) { //以IE兼容方式

doc_width = document.body.clientWidth//取页面宽度

doc_height = document.body.clientHeight//取页面高度

}

for (i = 0i <no++ i) { //根据前面定义的雪片数目写进相应数目的层

initSnow()//随机初始化层的坐标

if (ns4up) { //如果浏览器是NS

//用layer作为雪片(星号)的容器

document.write("<layer name=\"dot"+ i +"\" left=\"1\" ")

document.write("top=\"1\" visibility=\"show\"><font color=\"red\">")

document.write("*</font></layer>")

}

else

if (ie4up) { //如果浏览器是IE

//用div作为雪片的容器

document.write("<div id=\"dot"+ i +"\" style=\"POSITION: ")

document.write("absoluteZ-INDEX: "+ i +"VISIBILITY: ")

document.write("visibleTOP: 15pxLEFT: 15px\"><font color=\"red\">")

document.write("*</font></div>")

}

}

//初始化雪片,生成随机坐标

function initSnow() {

a = 6

r[i] = 1

sn = Math.sin(a)

cs = Math.cos(a)

cx[i] = Math.random() * doc_width + 1

cy[i] = Math.random() * doc_height + 1

x[i] = r[i] * sn + cx[i]

y[i] = cy[i]

}

//计算雪花位置,从新位置上出现,看起来就像是新产生的一样。

function makeSnow() {

r[i] = 1

cx[i] = Math.random() * doc_width + 1

cy[i] = 1

x[i] = r[i] * sn + cx[i]

y[i] = r[i] * cs + cy[i]

}

//雪花下落的计算

function updateSnow() {

r[i] += s

x[i] = r[i] * sn + cx[i]

y[i] = r[i] * cs + cy[i]

}

//在NS浏览器上处理雪片下落的主程序

function SnowdropNS() {

for (i = 0i <no++ i) { //依次处理每片雪花

updateSnow()//下落

if ((x[i] <= 1) || (x[i] >= (doc_width - 20)) || (y[i] >= (doc_height - 20))) { //如果超出屏幕范围

makeSnow()//则调整雪片到新位置上

doc_width = self.innerWidth//更新页面宽度数据

doc_height = self.innerHeight//更新页面高度数据

}

document.layers["dot"+i].top = y[i]//改变层的Y坐标,应用新的位置

document.layers["dot"+i].left = x[i]//改变层的X坐标,应用新的位置

}

setTimeout("SnowdropNS()", speed)

}

//在IE浏览器上处理雪片下落的主程序

function SnowdropIE() {

for (i = 0i <no++ i) { //依次处理每片雪花

updateSnow()//下落

if ((x[i] <= 1) || (x[i] >= (doc_width - 20)) || (y[i] >= (doc_height - 20))) { //如果超出屏幕范围

makeSnow()//则调整雪片到新位置上

doc_width = document.body.clientWidth//更新页面宽度数据

doc_height = document.body.clientHeight//更新页面高度数据

}

document.all["dot"+i].style.pixelTop = y[i]//改变层的坐标,应用新的位置

document.all["dot"+i].style.pixelLeft = x[i]

}

setTimeout("SnowdropIE()", speed)//准备下一次下落过程。

}

if (ns4up) { //如果是NS

SnowdropNS()//调用SnowdropNS使雪片下落

}

else

if (ie4up) { //如果是NS

SnowdropIE()//调用SnowdropIE使雪片下落

}

-->

</script>

说明:可以根据自己的需求根据说明进行相应参数的修改

具体如下:

1、雪花像飞舞的柳絮,又像翩翩起舞的蝴蝶,还像漫天飞舞的梨花。

2、雪花像洁白的蒲公英,又像好吃的棉花糖,还像晶莹剔透的水晶。

3、雪花像鹅毛,又像朵朵杨花,还像可爱的小精灵。

4、雪花像一位妙手的画家,又像一位美容师,还像一个个身穿白纱裙的小仙女。

5、雪花像一个个快乐的音符,又像调皮的小精灵,还像洁白的羽毛。

6、雪花像姑娘温软如玉的纤纤玉指,又像一朵朵千娇百媚的小花,还像美丽的白蝴蝶。

7、雪花像会跳舞的小仙子,又像一个高贵典雅的公主,还像只只空灵飘逸的玉蝴蝶,扇动着薄翼,初降人间。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6185761.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-17
下一篇 2023-03-17

发表评论

登录后才能评论

评论列表(0条)

保存