javascript实现雪花飘落效果


Posted in Javascript onAugust 19, 2020

圣诞节快到了相信许多公司的前端都在会收到一个需求,那就是做一个关于圣诞节的专题,而这个专题为了应对圣诞节这个主题都会加上雪花飘呀飘这个小动画,当然我们公司也不例外,下面就是本人用js写的一小段雪花秀啦:

<!DOCTYPE html>
<html>
 <head>
 <meta charset="UTF-8">
 <title></title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport">
  <script src="jquery-1.8.3.min.js"></script>
 </head>
 <style>
 html{
  max-width: 720px;
  
 }
 body{
  width: 100%;
  height: 100%;
  margin: 0 auto;
  overflow-x: hidden;
 }
 .snow{
  width: 100%;
  height: 100%;
  background: pink;
  overflow: hidden;
 }
 .snow_img{
  position: absolute;
  top: -50px;
  margin-left: 1px;
 }
 </style>
 <body>
 <div class="snow"></div>
 <script>
 $(function(){
  $('body').css("height",$(window).height())
  var wid=$(".snow").width();
  var html_snow="<img src='snow.png' class='snow_img'>";
  setInterval(function(){$(".snow").append(html_snow);snowFlow();},100);
  function snowFlow(){
  $(".snow_img").each(function(index){
   var snow_time=(Math.random()*10+4)*1000;
   var wid_snow=Math.floor(Math.random()*40+5)+'px';
         var float_left=Math.random()*wid*2-wid+"px";
   var wid_left=Math.random()*wid+"px";
    if( $(this).css("margin-left")==1+"px"){
   $(this).css("margin-left",wid_left);
   }
   if($(this).width()==0 || $(this).width()==50 ){
   $(this).width(wid_snow);
   }
   $(this).animate({top:800+"px",left:float_left,},snow_time);
   if($(this).offset().top==800){
         $(this).remove();
   }
  })
  }
 });
 
 </script>
 </body>
</html>

代码很简单,都是运动用js的一些基础知识点做出来的,主要是随机数和一些判断。就这么简单。代码不是重点,重点是思维,有了思维你自然就可以做出来了。下面是效果图:

javascript实现雪花飘落效果

想看动态效果的自己复制代码运行就可以了。欢迎给优化建议。

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

Javascript 相关文章推荐
使用javascript实现有效时间的控制,并显示将要过期的时间
Jan 02 Javascript
JavaScript获取flash对象与网上的有所不同
Apr 21 Javascript
js读取csv文件并使用json显示出来
Jan 09 Javascript
javascript倒计时效果实现
Nov 12 Javascript
JavaScipt中栈的实现方法
Feb 17 Javascript
基于百度地图实现产品销售的单位位置查看功能设计与实现
Oct 21 Javascript
原生JS实现《别踩白块》游戏(兼容IE)
Feb 20 Javascript
详解使用vuex进行菜单管理
Dec 21 Javascript
详解VueJS应用中管理用户权限
Feb 02 Javascript
详解Vue2.0配置mint-ui踩过的那些坑
Apr 23 Javascript
jQuery实现form表单基于ajax无刷新提交方法实例代码
Nov 04 jQuery
在vue中使用axios实现post方式获取二进制流下载文件(实例代码)
Dec 16 Javascript
js实现直播点击飘心效果
Aug 19 #Javascript
js实现鼠标点击飘爱心效果
Aug 19 #Javascript
Vue环境搭建+VSCode+Win10的详细教程
Aug 19 #Javascript
Vue实现导航栏菜单
Aug 19 #Javascript
vue实现tab栏点击高亮效果
Aug 19 #Javascript
封装Vue Element的table表格组件的示例详解
Aug 19 #Javascript
JS实现页面鼠标点击出现图片特效
Aug 19 #Javascript
You might like
PHP fopen 读取带中文URL地址的一点见解
2012/09/25 PHP
探讨PHP中this,self,parent的区别详解
2013/06/08 PHP
PHP中使用SimpleXML检查XML文件结构实例
2015/01/07 PHP
php使用Image Magick将PDF文件转换为JPG文件的方法
2015/04/01 PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
2017/07/22 PHP
tp5(thinkPHP5)操作mongoDB数据库的方法
2018/01/20 PHP
jQuery 性能优化指南 (1)
2009/05/21 Javascript
跟着JQuery API学Jquery 之二 属性
2010/04/09 Javascript
一些实用的jQuery代码片段收集
2011/07/12 Javascript
JavaScript原型继承之基础机制分析
2011/08/26 Javascript
iframe实用操作锦集
2014/04/22 Javascript
JS+CSS实现可以凹陷显示选中单元格的方法
2015/03/02 Javascript
JavaScript中常见的字符串操作函数及用法汇总
2015/05/04 Javascript
非常实用的12个jquery代码片段
2015/11/02 Javascript
特殊日期提示功能的实现方法
2016/06/16 Javascript
bootstrap-table实现服务器分页的示例 (spring 后台)
2017/09/01 Javascript
利用jQuery+localStorage实现一个简易的计时器示例代码
2017/12/25 jQuery
vue2.0 可折叠列表 v-for循环展示的实例
2018/09/07 Javascript
JavaScript创建对象的四种常用模式实例分析
2019/01/11 Javascript
vue中封装axios并实现api接口的统一管理
2020/12/25 Vue.js
vue编写简单的购物车功能
2021/01/08 Vue.js
Eclipse中Python开发环境搭建简单教程
2016/03/23 Python
python subprocess 杀掉全部派生的子进程方法
2017/01/16 Python
Python中Django 后台自定义表单控件
2017/03/28 Python
Python实现模拟浏览器请求及会话保持操作示例
2018/07/30 Python
python使用pygame实现笑脸乒乓球弹珠球游戏
2019/11/25 Python
CSS3+DIV实现漂亮的动画彩色标签
2016/06/16 HTML / CSS
CSS3教程(5):网页背景图片
2009/04/02 HTML / CSS
CSS3 box-sizing属性
2009/04/17 HTML / CSS
戴森香港官方网站:Dyson香港
2021/02/11 全球购物
高中自我鉴定范文
2013/11/03 职场文书
cf战队宣传语
2015/07/13 职场文书
领导新年致辞2016
2015/07/29 职场文书
2016小学优秀教师先进事迹材料
2016/02/26 职场文书
Beekeeper Studio开源数据库管理工具比Navicat更炫酷
2022/06/21 数据库
使用opencv-python如何打开USB或者笔记本前置摄像头
2022/06/21 Python