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实现的在当前窗口中漂浮框的代码
Mar 15 Javascript
让mayfish支持mysqli数据库驱动的实现方法
May 22 Javascript
JQuery中对服务器控件 DropdownList, RadioButtonList, CheckboxList的操作总结
Jun 28 Javascript
jQuery表单验证插件formValidator(改进版)
Feb 03 Javascript
JavaScript中style.left与offsetLeft的使用及区别详解
Jun 08 Javascript
基于Bootstrap的Java开发问题汇总(Spring MVC)
Jan 15 Javascript
微信小程序页面开发注意事项整理
May 18 Javascript
Angular2.0/4.0 使用Echarts图表的示例代码
Dec 07 Javascript
基于Vue的ajax公共方法(详解)
Jan 20 Javascript
微信小程序实现城市列表选择
Jun 05 Javascript
关于TypeScript模块导入的那些事
Jun 12 Javascript
Django模板继承 extend标签实例代码详解
May 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
简单采集了yahoo的一些数据
2007/02/14 PHP
Thinkphp多文件上传实现方法
2014/10/31 PHP
php简单备份与还原MySql的方法
2016/05/09 PHP
使用phpexcel类实现excel导入mysql数据库功能(实例代码)
2016/05/12 PHP
PHP里面把16进制的图片数据显示在html的img标签上(实现方法)
2017/05/02 PHP
PHP从零开始打造自己的MVC框架之类的自动加载实现方法详解
2019/06/03 PHP
Grid得到选择行数据的方法总结
2011/01/17 Javascript
jquery写个checkbox——类似邮箱全选功能
2013/03/19 Javascript
jQuery插件实现屏蔽单个元素使用户无法点击
2013/04/12 Javascript
Jquery选择子控件&quot;大于号&quot;和&quot; &quot;区别介绍及使用示例
2013/06/25 Javascript
Javascript仿PHP $_GET获取URL中的参数
2014/05/12 Javascript
js判断鼠标左、中、右键哪个被点击的方法
2015/01/27 Javascript
jQuery的promise与deferred对象在异步回调中的作用
2016/05/03 Javascript
jQuery实现背景弹性滚动的导航效果
2016/06/01 Javascript
利用js获取下拉框中所选的值
2016/12/01 Javascript
js中的eval()函数把含有转义字符的字符串转换成Object对象的方法
2016/12/02 Javascript
微信小程序实现图片自适应(支持多图)
2017/01/25 Javascript
使用bat打开多个cmd窗口执行gulp、node
2017/02/17 Javascript
JS回调函数基本定义与用法实例分析
2017/05/24 Javascript
在Vue中使用Viser说明(基于AntV-G2可视化引擎)
2020/10/28 Javascript
keep-alive保持组件状态的方法
2020/12/02 Javascript
python爬虫中get和post方法介绍以及cookie作用
2018/02/08 Python
python 中if else 语句的作用及示例代码
2018/03/05 Python
Python(Django)项目与Apache的管理交互的方法
2018/05/16 Python
解决python3捕获cx_oracle抛出的异常错误问题
2018/10/18 Python
python去除拼音声调字母,替换为字母的方法
2018/11/28 Python
Python面向对象类编写细节分析【类,方法,继承,超类,接口等】
2019/01/05 Python
Python 支付整合开发包的实现
2019/01/23 Python
python GUI库图形界面开发之PyQt5窗口布局控件QStackedWidget详细使用方法
2020/02/27 Python
美国领先的商务贺卡出版商:The Gallery Collection
2018/02/13 全球购物
绿色小区申报材料
2014/08/22 职场文书
电信营业员岗位职责
2015/04/14 职场文书
社区青年志愿者活动总结
2015/05/06 职场文书
2015年推普周活动方案
2015/05/06 职场文书
Python 数据科学 Matplotlib图库详解
2021/07/07 Python
MySQL数据库如何使用Shell进行连接
2022/04/12 MySQL