网页制作动态落雪效果(web应用)

制作的内容是:将一张照片设置网页的背景,并且在背景图上制作出落雪的效果,所实现的效果是雪花由上向下落下的动态页面,如下图所展示的:

一、样式设置 利用css选择器设置风格样式:

<style>
       #m{
          
   
           width: 1220px;
           height:666px;
           background: url("image/bg.jpg");
           margin: auto;
           position: relative;
           overflow: hidden;
       }
       #m div{
          
   
           color: #ffff;
           font-size: 10px;
           filter: blur(2px);
           position: absolute;
       }
   </style>

二、创建雪花函数

function snowDown() {
          
   
        //创建雪花
        var snow = document.createElement(div);
        var txt = document.createTextNode(.);
        snow.appendChild(txt);
        m.appendChild(snow);

        //将雪花放在合适的位置
        //将雪花散布在横向的位置
        var y = -50;
        var z = Math.random() * 1000;
        snow.style.left = Math.random() * 1000 + "px";
        //雪花的垂直位置
        snow.style.top = y + "px";
        //雪花的大小标记计算
        snow.style.fontSize = Math.abs(z * 0.07 - 70) + 10 + "px";
        //清晰度的标记计算
        snow.style.opacity = Math.abs(z * 0.0006 - 0.6) + 0.2;
    }

三、雪花下落函数 注意:下边这条语句是是用来标记雪花下落速度的,可以根据自己的需求,y值越大下落越快,反之越慢。

y +=Math.abs( z/1000-1)+0.5;
down();
        function down() {
          
   
            //每隔13毫秒执行本身down()函数
            if(y>666)
            {
          
   
                snow.remove();
            }
            else
            {
          
   

             //数值计算,标记雪花下落速度不同
                y +=Math.abs( z/1000-1)+0.5;
                snow.style.top =y+"px";
                setTimeout(down,13);
            }
            setTimeout(down,13);
        }

四、整体代码 注意:对于所插入的照片可以设置一个包,专门来放照片如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
   <style>
       #m{
          
   
           width: 1220px;
           height:666px;
           background: url("image/bg.jpg");
           margin: auto;
           position: relative;
           overflow: hidden;
       }
       #m div{
          
   
           color: #ffff;
           font-size: 10px;
           filter: blur(2px);
           position: absolute;
       }
   </style>
</head>
<body>
<div id="m">
<script>
    var m=document.getElementById("m");
    //每200毫秒执行一次下边的函数
    setInterval(snowDown,500);
    //一个雪花从出生到死亡的全过程
    function snowDown() {
          
   
        //创建雪花
        var snow = document.createElement(div);
        var txt = document.createTextNode(.);
        snow.appendChild(txt);
        m.appendChild(snow);

        //将雪花放在合适的位置
        //将雪花散布在横向的位置
        var y = -50;
        var z = Math.random() * 1000;
        snow.style.left = Math.random() * 1000 + "px";
        //雪花的垂直位置
        snow.style.top = y + "px";
        //雪花的大小标记计算
        snow.style.fontSize = Math.abs(z * 0.07 - 70) + 10 + "px";
        //清晰度的标记计算
        snow.style.opacity = Math.abs(z * 0.0006 - 0.6) + 0.2;
    }

    //雪花下落
        down();
        function down() {
          
   
            //每隔13毫秒执行本身down()函数
            if(y>666)
            {
          
   
                snow.remove();
            }
            else
            {
          
   

             //数值计算,标记雪花下落速度不同
                y +=Math.abs( z/1000-1)+0.5;
                snow.style.top =y+"px";
                setTimeout(down,13);
            }
            setTimeout(down,13);
        }


</script>
</div>
</body>
</html>
经验分享 程序员 微信小程序 职场和发展