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实现按比例缩放图片的方法
Apr 29 jQuery
jQuery实现返回顶部按钮和scroll滚动功能[带动画效果]
Jul 05 jQuery
使用jquery+iframe做一个ajax上传效果(实例)
Aug 24 jQuery
jQuery 1.9版本以上的浏览器判断方法代码分享
Aug 28 jQuery
jQuery 开发之EasyUI 添加数据的实例
Sep 26 jQuery
jquery animate动画持续运动的实例
Nov 29 jQuery
jquery点击回车键实现登录效果并默认焦点的方法
Mar 09 jQuery
jQuery实现图片简单轮播功能示例
Aug 13 jQuery
jQuery中each和js中forEach的区别分析
Feb 27 jQuery
jQuery/JS监听input输入框值变化实例
Oct 17 jQuery
jQuery实现倒计时功能完整示例
Jun 01 jQuery
基于jquery实现彩色投票进度条代码解析
Aug 26 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
基于mysql的bbs设计(二)
2006/10/09 PHP
实战mysql导出中文乱码及phpmyadmin导入中文乱码的解决方法
2010/06/11 PHP
php中使用__autoload()自动加载未定义类的实现代码
2013/02/06 PHP
ThinkPHP添加更新标签的方法
2014/12/05 PHP
php实现对短信验证码发送次数的限制实例讲解
2021/03/04 PHP
在JavaScript中获取请求的URL参数[正则]
2010/12/25 Javascript
JS判断页面加载状态以及添加遮罩和缓冲动画的代码
2012/10/11 Javascript
Javascript常用字符串判断函数代码分享
2014/12/08 Javascript
jQuery中:checked选择器用法实例
2015/01/04 Javascript
JavaScript使用Max函数返回两个数字中较大数的方法
2015/04/06 Javascript
使用jquery如何获取时间
2016/10/13 Javascript
vue页面离开后执行函数的实例
2018/03/13 Javascript
JS实现的简单分页功能示例
2018/08/23 Javascript
JQuery样式操作、click事件以及索引值-选项卡应用示例
2019/05/14 jQuery
详解element-ui 表单校验 Rules 配置 常用黑科技
2020/07/11 Javascript
vue+AI智能机器人回复功能实现
2020/07/16 Javascript
[01:01:52]DOTA2-DPC中国联赛正赛 iG vs LBZS BO3 第一场 3月4日
2021/03/11 DOTA
使用graphics.py实现2048小游戏
2015/03/10 Python
Python使用Dijkstra算法实现求解图中最短路径距离问题详解
2018/05/16 Python
PyCharm设置SSH远程调试的方法
2018/07/17 Python
利用Python实现微信找房机器人实例教程
2019/03/10 Python
利用python绘制数据曲线图的实现
2020/04/09 Python
Python如何安装第三方模块
2020/05/28 Python
pytorch 计算Parameter和FLOP的操作
2021/03/04 Python
台湾旅游网站:灿星旅游
2018/10/11 全球购物
Guess荷兰官网:美国服饰品牌
2020/01/22 全球购物
DTD的含义以及作用
2014/01/26 面试题
工程师求职简历的自我评价分享
2013/10/10 职场文书
餐厅筹备计划书
2014/04/25 职场文书
数学教育专业求职信
2014/07/22 职场文书
2014年药店工作总结
2014/11/20 职场文书
行政诉讼答辩状
2015/05/21 职场文书
同学聚会感言一句话
2015/07/30 职场文书
素质教育培训心得体会
2016/01/19 职场文书
创业计划书之物流运送
2019/09/17 职场文书
Golang 对es的操作实例
2022/04/20 Golang