jquery实现烟花效果(面向对象)


Posted in jQuery onMarch 10, 2020

本文实例为大家分享了jquery实现烟花效果的具体代码,供大家参考,具体内容如下

<!DOCTYPE>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>烟花效果(面向对象)</title>
 <style type="text/css">
  *{padding: 0;margin: 0}
  body{overflow: hidden;width: 100%;height: 100%;background: #000; }
  div{position: absolute;background: #000;color: #fff}
 </style>
 <script src="jquery-1.8.3.min.js"></script></script>


</head>

<body>
<script type="text/javascript">
 var firWorks = {
  init : function(){ //初始化
   var _that = this;
    $(document).bind("click",function(e){
    _that.eventLeft = e.pageX;
    _that.eventTop = e.pageY;
    _that.createCylinder();
    });
  },
  createCylinder : function(event){ //创建一个花筒
   var _that = this;
   this.cHeight = document.documentElement.clientHeight;//浏览器高度
   this.cylinder = $("<div/>");
   $("body").append(this.cylinder);
   this.cylinder.css({"width":4,"height":15,"background-color":"red","top":this.cHeight,"left":this.eventLeft});
   this.cylinder.animate({top:this.eventTop},600,function(){
    $(this).remove();
    _that.createFlower();
   })
  },
  createFlower : function(){ //创建很多很多的烟花哇!!
   /*烟花效果
   *1.烟花是很多个DIV构成
   *2.每个烟花的颜色不一样
   *3.烟花的位置也不一样
   *4.烟花散开方向不一样
   *5.烟花有下坠感觉
   */
   //通过循环可以创建你想要的烟花啦!!!
   var _that = this;
   for(var i = 0 ; i < 30; i++ ){
    $("body").append($("<div class='flower'></div>"));
   };
   $(".flower").css({"width":3,"height":3,"top":this.eventTop,"left":this.eventLeft});
   $(".flower").each(function(index, element) {
    var $this = $(this);
    var yhX = Math.random()*400-200;
    var yhY = Math.random()*600-300;
    _that.changeColor();
    $this.css({"background-color":"#"+_that.randomColor,"width":3,"height":3}).animate({"top":_that.eventTop-yhY,"left":_that.eventLeft-yhX},500);//散开
    for(var i=0;i<30;i++){
     //判断鼠标点击时的右边烟花还是左边烟花
     if(yhX<0){
      _that.downPw($this,"+");//右下坠
     }else{
      _that.downPw($this,"-");//左下坠
     }
    }
   });     
  },
  changeColor : function(){
   /*烟花的颜色是随机的,而且是用16进制表示色值,所以用随机数结合16进制;
   *16进制的最大值ffffff,转换成十进制16777215;
   *Math.random()*16777215公式可以得到0-16777215之间的数,因为是小数,所以要用到取整;
   *Math.ceil(Math.random()*16777215)生成一个在颜色值范围内的,随机的十进制值;
   *Math.random()*9+1公式可以得到1-10之间的数,以此类推
   *.toString(16)方法,是把得到的十进制,转换成16进制,也就是随机的颜色值了;
   */    
   this.randomColor = "";
   this.randomColor = Math.ceil(Math.random()*16777215).toString(16)//;
   //当这个产生的随机的颜色值,不足6位数的进候,需要补齐,又不改变其值,所以要在这个数的前面加零;
   while(this.randomColor.length<6){
    this.randomColor = "0"+this.randomColor;
   }
  },
  downPw : function(ele,type){ //烟花下坠啦 !!!!
   ele.animate({"top":"+=30","left":type+"=4"},50,function(){
     setTimeout(function(){ele.remove()},2000);
   })
  }
 };
 firWorks.init();
</script>

</body>
</html>

更多JavaScript精彩特效分享给大家:

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

jQuery 相关文章推荐
jQuery插件FusionCharts绘制的2D双面积图效果示例【附demo源码】
Apr 11 jQuery
使用jQuery和ajax代替iframe的方法(详解)
Apr 12 jQuery
jQuery ajax请求struts action实现异步刷新
Apr 19 jQuery
jQuery实现返回顶部按钮和scroll滚动功能[带动画效果]
Jul 05 jQuery
jQuery制作全屏宽度固定高度轮播图(实例讲解)
Jul 08 jQuery
jQuery实现标签子元素的添加和赋值方法
Feb 24 jQuery
jQuery仿移动端支付宝键盘的实现代码
Aug 15 jQuery
Jquery获取radio选中值实例总结
Jan 17 jQuery
jQuery操作cookie的示例代码
Jun 05 jQuery
jquery+ajax实现上传图片并显示上传进度功能【附php后台接收】
Jun 06 jQuery
jQuery 函数实例分析【函数声明、函数表达式、匿名函数等】
May 19 jQuery
jQuery中getJSON跨域原理的深入讲解
Sep 02 jQuery
jquery实现垂直手风琴菜单
Mar 04 #jQuery
js与jquery获取input输入框中的值实例讲解
Feb 27 #jQuery
jquery实现直播视频弹幕效果
Feb 25 #jQuery
jquery制作的移动端购物车效果完整示例
Feb 24 #jQuery
jquery实现的放大镜效果示例
Feb 24 #jQuery
jquery向后台提交数组的代码分析
Feb 20 #jQuery
jquery实现垂直手风琴导航栏
Feb 18 #jQuery
You might like
德生9700DX电路分析
2021/03/02 无线电
phpmyadmin 3.4 空密码登录的实现方法
2010/05/29 PHP
PHP防盗链代码实例
2014/08/27 PHP
php实现utf-8转unicode函数分享
2015/01/06 PHP
PHP asXML()函数讲解
2019/02/03 PHP
javascript编程起步(第七课)
2007/01/10 Javascript
JavaScript 浮点数运算 精度问题
2009/10/06 Javascript
js动态添加事件并可传参数示例代码
2013/10/21 Javascript
jquery解析xml字符串简单示例
2014/04/11 Javascript
jQuery循环动画与获取组件尺寸的方法
2015/02/02 Javascript
js实现的牛顿摆效果
2015/03/31 Javascript
javascript正则表达式定义(语法)总结
2016/01/08 Javascript
JavaScript遍历求解数独问题的主要思路小结
2016/06/12 Javascript
Vuejs第八篇之Vuejs组件的定义实例解析
2016/09/05 Javascript
vue使用element-ui的el-input监听不了回车事件的解决方法
2018/01/12 Javascript
jQuery扩展方法实现Form表单与Json互相转换的实例代码
2018/09/05 jQuery
在Vant的基础上实现添加表单验证框架的方法示例
2018/12/05 Javascript
axios异步提交表单数据的几种方法
2019/08/11 Javascript
解决python3在anaconda下安装caffe失败的问题
2017/06/15 Python
详解Numpy中的广播原则/机制
2018/09/20 Python
用Python实现数据的透视表的方法
2018/11/16 Python
Python3匿名函数lambda介绍与使用示例
2019/05/18 Python
简单了解python 生成器 列表推导式 生成器表达式
2019/08/22 Python
Django 解决阿里云部署同步数据库报错的问题
2020/05/14 Python
django正续或者倒序查库实例
2020/05/19 Python
Python reques接口测试框架实现代码
2020/07/28 Python
python实现单机五子棋
2020/08/28 Python
python Selenium 库的使用技巧
2020/10/16 Python
python实现不同数据库间数据同步功能
2021/02/25 Python
野兽派官方旗舰店:THE BEAST 野兽派
2016/08/05 全球购物
英国女士家居服网站:hush
2017/08/09 全球购物
党员大会主持词
2014/04/02 职场文书
计算机求职自荐信范文
2014/04/19 职场文书
中国梦演讲稿教师篇
2014/04/23 职场文书
社会实践评语
2014/04/28 职场文书
python标准库ElementTree处理xml
2022/05/20 Python