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 HashTable
Jan 22 Javascript
Javascript面象对象成员、共享成员变量实验
Nov 19 Javascript
js弹出层之1:JQuery.Boxy (二)
Oct 06 Javascript
js判断字符长度及中英文数字等
Mar 19 Javascript
使用js dom和jquery分别实现简单增删改
Sep 11 Javascript
Js中使用hasOwnProperty方法检索ajax响应对象的例子
Dec 08 Javascript
jQuery实现带滑动条的菜单效果代码
Aug 26 Javascript
AngularJS中的拦截器实例详解
Apr 07 Javascript
vue.js中引入vuex储存接口数据及调用的详细流程
Dec 14 Javascript
react-native聊天室|RN版聊天App仿微信实例|RN仿微信界面
Nov 12 Javascript
基于vue.js仿淘宝收货地址并设置默认地址的案例分析
Aug 20 Javascript
Vue+TypeScript中处理computed方式
Apr 02 Vue.js
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
WindowsXP中快速配置Apache+PHP5+Mysql
2008/06/05 PHP
PHP中的integer类型使用分析
2010/07/27 PHP
php绘制一个矩形的方法
2015/01/24 PHP
CodeIgniter 完美解决URL含有中文字符串
2016/05/13 PHP
php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例
2019/05/09 PHP
实现连缀调用的map方法(prototype)
2009/08/05 Javascript
一个JavaScript去除字符串末尾的空白实例代码
2014/09/22 Javascript
JS获取图片高度宽度的方法分享
2015/04/17 Javascript
基于jquery实现一个滚动的分步注册向导-附源码
2015/08/26 Javascript
jquery实现的伪分页效果代码
2015/10/29 Javascript
JS使用正则表达式除去字符串中重复字符的方法
2015/11/05 Javascript
超漂亮的Bootstrap 富文本编辑器summernote
2016/04/05 Javascript
javascript原生ajax写法分享
2016/04/10 Javascript
jquery.uploadifive插件怎么解决上传限制图片或文件大小问题
2017/05/08 jQuery
node+koa实现数据mock接口的方法
2017/09/20 Javascript
React Native中导航组件react-navigation跨tab路由处理详解
2017/10/31 Javascript
vue中使用element-ui进行表单验证的实例代码
2018/06/22 Javascript
Vue3.x源码调试的实现方法
2019/10/13 Javascript
Vue3项目打包后部署到服务器 请求不到后台接口解决方法
2020/02/06 Javascript
[53:13]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS LGD-GAMING
2014/05/22 DOTA
python代码检查工具pylint 让你的python更规范
2012/09/05 Python
Python的几个高级语法概念浅析(lambda表达式闭包装饰器)
2016/05/28 Python
python根据unicode判断语言类型实例代码
2018/01/17 Python
Python操作Oracle数据库的简单方法和封装类实例
2018/05/07 Python
Python访问MongoDB,并且转换成Dataframe的方法
2018/10/15 Python
判断python对象是否可调用的三种方式及其区别详解
2019/01/31 Python
基于jupyter代码无法在pycharm中运行的解决方法
2020/04/21 Python
python语言的优势是什么
2020/06/17 Python
链表面试题-一个链表的结点结构
2015/05/04 面试题
计算机科学系职业生涯规划书
2014/03/08 职场文书
经济担保书范文
2014/04/02 职场文书
软件研发工程师岗位职责
2014/09/30 职场文书
离婚协议书该怎么写
2014/10/04 职场文书
青年联谊会致辞
2015/07/31 职场文书
MySQL中出现乱码问题的终极解决宝典
2021/05/26 MySQL
js判断两个数组相等的5种方法
2022/05/06 Javascript