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 相关文章推荐
jQuery 使用手册(四)
Sep 23 Javascript
javascript中用星号表示预录入内容的实现代码
Jan 08 Javascript
jquery实现简单易懂的图片展示小例子
Nov 21 Javascript
深入理解JavaScript中的对象
Jun 04 Javascript
javascript之Boolean类型对象
Jun 07 Javascript
jquery控制页面的展开和隐藏实现方法(推荐)
Oct 15 Javascript
Bootstrap实现的经典栅格布局效果实例【附demo源码】
Mar 30 Javascript
vuejs使用递归组件实现树形目录的方法
Sep 30 Javascript
Vue v2.5 调整和更新不完全问题
Oct 24 Javascript
记React connect的几种写法(小结)
Sep 18 Javascript
基于vue通用表单解决方案的思考与分析
Mar 16 Javascript
Javascript 模拟mvc实现点餐程序案例详解
Dec 24 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
生成缩略图
2006/10/09 PHP
域名和cookie问题(域名后缀)
2012/10/10 PHP
mysql 查询指定日期时间内sql语句实现原理与代码
2012/12/16 PHP
php echo, print, print_r, sprintf, var_dump, var_expor的使用区别
2013/06/20 PHP
使用PHP实现蜘蛛访问日志统计
2013/07/05 PHP
php如何解决无法上传大于8M的文件问题
2014/03/10 PHP
PHP模拟asp中response类实现方法
2015/08/08 PHP
php禁用cookie后session设置方法分析
2016/10/19 PHP
PHP实现微信公众号验证Token的示例代码
2019/12/16 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
2020/02/21 PHP
Javascript实现的鼠标经过时播放声音
2010/05/18 Javascript
一次失败的jQuery优化尝试小结
2011/02/06 Javascript
jQuery点击改变class并toggle及toggleClass()方法定义用法
2015/12/11 Javascript
jQuery操作Table技巧大汇总
2016/01/23 Javascript
javascript实现查找数组中最大值方法汇总
2016/02/13 Javascript
javascript html5实现表单验证
2016/03/01 Javascript
微信小程序 在Chrome浏览器上运行以及WebStorm的使用
2016/09/27 Javascript
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
2016/12/15 Javascript
js实现一个猜数字游戏
2017/03/31 Javascript
JavaScript引用类型Array实例分析
2018/07/24 Javascript
RxJS的入门指引和初步应用
2019/06/15 Javascript
js实现省级联动(数据结构优化)
2020/07/17 Javascript
js实现菜单跳转效果
2020/12/11 Javascript
Python程序中使用SQLAlchemy时出现乱码的解决方案
2015/04/24 Python
Python + selenium自动化环境搭建的完整步骤
2018/05/19 Python
python实现将汉字保存成文本的方法
2018/11/16 Python
在Python 中同一个类两个函数间变量的调用方法
2019/01/31 Python
Python操作注册表详细步骤介绍
2020/02/05 Python
Python3中configparser模块读写ini文件并解析配置的用法详解
2020/02/18 Python
python UIAutomator2使用超详细教程
2021/02/19 Python
数控专业毕业生自荐信范文
2014/03/04 职场文书
敬老院标语
2014/06/27 职场文书
领导干部民主生活会自我剖析材料范文
2014/09/20 职场文书
公司优秀员工推荐信
2015/03/24 职场文书
考研导师推荐信范文
2015/03/27 职场文书
详解MySQL集群搭建
2021/05/26 MySQL