JavaScript实现动态网页飘落的雪花

 更新时间:2022年06月21日 17:06:41   作者:Cairo960918  
这篇文章主要为大家详细介绍了JavaScript实现动态网页飘落的雪花,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了JavaScript实现动态网页飘落雪花的具体代码,供大家参考,具体内容如下

设计思路:

1.定义一定数量的雪花层,每层包含一个雪花;

2.雪花水平方向左右摇摆则是Math.sin()方法,正弦函数;

3.雪花垂直方向则是采用自加方法每次增加一定距离;

4.雪花每个大小不一;

采用的方法如下:

Math.ceil()方法:返回大于等于其数字参数的最小整数,如Math.ceil(3.4)=4;

Math.random()方法:返回介于0和1之间的随机数(含0但不包括1);

clientWidth属性:对象(元素)的宽度;

clientHeight属性:对象(元素)的高度;

setTimeout(“JavaScript语句”,time(单位:毫秒)):2个参数,设置一个超时计时器,在执行该方法时开始计时,经过time时间后执行JavaScript语句。

完整代码如下:

<html>
<head>
<meta charset="utf-8">
<title>飘落的雪花</title>
</head>
<script language="javascript">
<!--
var snow_size=new Array();
var snow_color=new Array();
var num=50;//雪花数量
var smallest=5;//雪花最小尺寸
var largest=30;//雪花最大尺寸
var dx=new Array();//雪花左右振动幅度大小
var xp=new Array();//水平位置
var yp=new Array();//垂直位置
var am=new Array();
var stx=new Array();//水平位移
var sty=new Array();//垂直位移
var doc_width;
var doc_height;
function makeSize(){//定义每个雪花尺寸
    return smallest+Math.random()*largest;
    }
function makeColor1(){//定义白色雪花
    for(i=0;i<num;++i){
       snow_color[i]='#ffffff';
      }
    }
function makeColor2(){//定义彩色雪花
    for(i=0;i<num;++i){
        A=Math.ceil(Math.random()*255);
        B=Math.ceil(Math.random()*255);
        C=Math.ceil(Math.random()*255);
        snow_color[i]='rgb('+A+','+B+','+C+')';
        }
    }
function init(){//初始化
    doc_width=document.body.clientWidth;
    doc_height=document.body.clientHeight;
    makeColor1();  //白色雪花
    //makeColor2();  //彩色雪花
    for(i=0;i<num;++i){
        dx[i]=0;
        xp[i]=Math.random()*(doc_width-40);
        yp[i]=Math.random()*doc_height;
        am[i]=Math.random()*20;
        snow_size[i]=makeSize();
        stx[i]=0.02+Math.random()/10;
        sty[i]=0.7+Math.random();
        document.write("<div id='snow_"+i+"' style='position:absolute;z-index:eval(30"+i+");visibility:visible;top:15px;left:15px;font-size:"+snow_size[i]+";color:"+snow_color[i]+"'>*</div>");
        }
    }
function snow(){
    for(i=0;i<num;++i){
        yp[i]+=sty[i];
        if(yp[i]>doc_height-50){//如果雪花到达底部
            xp[i]=Math.random()*(doc_width-am[i]-20);
            yp[i]=0;//垂直位置重置为0
            stx[i]=0.02+Math.random()/10;
            sty[i]=0.7+Math.random();
            }
            dx[i]+=stx[i];
            document.getElementById("snow_"+i).style.top=yp[i];
            document.getElementById("snow_"+i).style.left=xp[i]+am[i]*Math.sin(dx[i]);
        }
    setTimeout("snow()",10);//间隔10毫秒调用一次snow函数
    }
//-->
</script>
<body id="myBody" bgcolor="#bbbbbb">
</body>
<script language="javascript">
<!--
init();
snow();
//-->
</script>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 基于JavaScript实现飘落星星特效

    基于JavaScript实现飘落星星特效

    这篇文章主要为大家详细介绍了基于JavaScript实现飘落星星特效,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • javaScript中slice函数用法实例分析

    javaScript中slice函数用法实例分析

    这篇文章主要介绍了javaScript中slice函数用法,较为详细的分析了javascript中slice函数的功能、定义及使用方法,需要的朋友可以参考下
    2015-06-06
  • 移动端翻页插件dropload.js(支持Zepto和jQuery)

    移动端翻页插件dropload.js(支持Zepto和jQuery)

    这篇文章主要为大家详细介绍了移动端翻页插件dropload.js,支持Zepto和jQuery,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-07-07
  • js实现兼容IE、Firefox的图片缩放代码

    js实现兼容IE、Firefox的图片缩放代码

    这篇文章主要介绍了js实现兼容IE、Firefox的图片缩放代码,涉及JavaScript操作图片元素的相关技巧,需要的朋友可以参考下
    2015-12-12
  • Track Image Loading效果代码分析

    Track Image Loading效果代码分析

    Track Image Loading效果代码分析...
    2007-08-08
  • 微信小程序实现左滑删除效果

    微信小程序实现左滑删除效果

    这篇文章主要为大家详细介绍了微信小程序实现左滑删除效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • 改变文件域的样式实现思路同时兼容ie、firefox

    改变文件域的样式实现思路同时兼容ie、firefox

    正如标题所言只是模拟了file文件域的外观,其实起作用的还是文件域file,这样就很方便,感兴趣的朋友可以了解下
    2013-10-10
  • js多功能分页组件layPage使用方法详解

    js多功能分页组件layPage使用方法详解

    这篇文章主要介绍了js多功能分页组件layPage的适用方法,layPage是一款多功能的js分页组件,即适用于异步分页,又可用于传统的整页刷新跳页,功能多样,想要了解的朋友可以参考下文进行学习
    2016-05-05
  • JavaScript实现在页面间传值的方法

    JavaScript实现在页面间传值的方法

    这篇文章主要介绍了JavaScript实现在页面间传值的方法,涉及javascript传值的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • js中undefined该怎么判断浅析

    js中undefined该怎么判断浅析

    可能很多朋友认为undefined是在js中未定义变量时才会提示的错误,其实不然undefined 是js中的一特殊的变量,我们也可以提前定义哦,下面这篇文章主要给大家介绍了关于js中undefined该怎么判断的相关资料,需要的朋友可以参考下
    2023-04-04

最新评论