javascript+css3开发打气球小游戏完整代码


Posted in Javascript onNovember 28, 2017

javascript+css3开发打气球小游戏完整代码

效果知识点:

css3画气球, 自定义属性运用,随机阵列, DOM元素操作,高级回调函数与参数复传,动态布局,鼠标事件,定时器运用,CSS3新增样式等。

css代码如下:

<style>
{margin:0;padding:0;}
body{background:#434343;overflow:hidden}
.balloon{
position:absolute;
left:0;
top:0;
margin:auto;
width:160px;
height:160px;
圆角: 左上 右上 右下 左下 
/
css3旋转 顺时针旋转45度 
/
background:#faf9f9;
x轴的位置 y轴的位置 影子扩散程度 模糊度 颜色 
/
}
.balloon:after{
伪元素的内容 
/
display:block;
position:absolute;

因为气球是旋转的 现在的正下方其实是右下角*/

right:0px;
width:0px;
height:0px;
border:8px solid #dbbdbd;
border-top-color:transparent;
border-bottom-color:transparent;
border-left-color:transparent;
transform:rotate(45deg);
border-radius:16px;
}
#wrap{
width:200px;
height:200px;
background:red;
}
</style>

javascript代码如下:

<script>
  var num = 10; // 声明遍历num 为div的数量
  //var oBody = document.querySelector('body'); //h5 api 获取元素的方法
  var oBody=document.documentElement || document.body; //body获取兼容性写法
  var wW=window.innerWidth; //获取浏览器窗口的宽度
  var wH=window.innerHeight; //获取浏览器窗口高度
  var timer=null;      //初始化定时器变量
  init(num);
  function init(num){
    for(var i=0;i<num;i++){ //for循环 循环加工厂
      var randomL=Math.random()*wW;    // 随机left范围
        randomL=Math.min(wW-160,randomL); //规范left位置
      var balloon = document.createElement('div'); //用js生成标签
      balloon.className='balloon'; //给创建的div元素设置类名
      balloon.style.left=randomL+'px'; //改变元素的样式中的left的值
      balloon.style.top=wH+'px';
      balloon.speed=Math.random()*5+1; //自定义属性 创建元素的时候添加
      oBody.appendChild(balloon); //body中添加 元素对象
    }
  }
  timer=setInterval(function(){
    var oBall=document.querySelectorAll('.balloon');//获取页面所有的气球
    for(var i=0,len=oBall.length;i<len;i++){
      oBall[i].style.top = oBall[i].offsetTop-oBall[i].speed+'px';
      oBall[i].onclick=function(){ //谁 触发了什么 谁做了什么事情
        crash(this,function(xxx){
          clearInterval(xxx.timer); //清除动画定时器
          xxx.parentNode.removeChild(xxx);
        });
        //this.parentNode.removeChild(this);  
        init(1);
      }
    }
  },30);
  function crash(ele,cb){  //被点击之后撒气效果
    ele.timeouter=setTimeout(function(){
        cb&&cb(ele);
    },500)
    ele.timer=setInterval(function(){
      ele.speed++; //加速度自增
      ele.style.top=ele.offsetTop-ele.speed+'px'; //加速逃离
      ele.style.width=ele.offsetWidth-10+'px'; //宽度减少
      ele.style.height=ele.offsetHeight-10+'px'; //高度减少
    },30)
  }
</script>

总结

以上所述是小编给大家介绍的javascript+css3开发打气球小游戏完整代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JavaScript 模拟类机制及私有变量的方法及思路
Jul 10 Javascript
JavaScript创建对象的写法
Aug 29 Javascript
jquery validate demo 基础
Oct 29 Javascript
angularjs 源码解析之scope
Aug 22 Javascript
微信小程序 本地存储及登录页面处理实例详解
Jan 11 Javascript
JavaScript判断浏览器及其版本信息
Jan 20 Javascript
ionic2中使用自动生成器的方法
Mar 04 Javascript
vue.js2.0 实现better-scroll的滚动效果实例详解
Aug 13 Javascript
webpack的pitching loader详解
Sep 23 Javascript
JavaScript实现简单验证码
Aug 24 Javascript
vue-simple-uploader上传成功之后的response获取代码
Sep 07 Javascript
一起来了解一下JavaScript的预编译(小结)
Mar 01 Javascript
9种改善AngularJS性能的方法
Nov 28 #Javascript
JS异步函数队列功能实例分析
Nov 28 #Javascript
浅谈vue,angular,react数据双向绑定原理分析
Nov 28 #Javascript
JS+HTML+CSS实现轮播效果
Nov 28 #Javascript
vue中使用vue-router切换页面时滚动条自动滚动到顶部的方法
Nov 28 #Javascript
解决在vue+webpack开发中出现两个或多个菜单公用一个组件问题
Nov 28 #Javascript
vue-music关于Player播放器组件详解
Nov 28 #Javascript
You might like
PHP脚本的10个技巧(1)
2006/10/09 PHP
php 无法加载mysql的module的时候的配置的解决方案引发的思考
2012/01/27 PHP
基于PHP静态类的原罪详解
2013/05/06 PHP
Linux Apache PHP Oracle 安装配置(具体操作步骤)
2013/06/17 PHP
PHP5中实现多态的两种方法实例分享
2014/04/21 PHP
ASP和PHP实现生成网站快捷方式并下载到桌面的方法
2014/05/08 PHP
PHP循环遍历数组的3种方法list()、each()和while总结
2014/11/19 PHP
PHP使用PDO连接ACCESS数据库
2015/03/05 PHP
thinkPHP线上自动加载异常与修复方法实例分析
2016/12/01 PHP
Windows平台PHP+IECapt实现网页批量截图并创建缩略图功能详解
2019/08/02 PHP
PHP 代码简洁之道(小结)
2019/10/16 PHP
js实现双向链表互联网机顶盒实战应用实现
2011/10/28 Javascript
javascript学习(二)javascript常见问题总结
2013/01/02 Javascript
js返回上一页并刷新的多种实现方法
2014/02/26 Javascript
Nodejs极简入门教程(一):模块机制
2014/10/25 NodeJs
JS封装通过className获取元素的函数示例
2016/12/20 Javascript
js学习心得_一个简单的动画库封装tween.js
2017/07/14 Javascript
jQuery实现通过方向键控制div块上下左右移动的方法【测试可用】
2018/04/26 jQuery
微信小程序实现登录遮罩效果
2018/11/01 Javascript
基于Proxy的小程序状态管理实现
2019/06/14 Javascript
基于Nuxt.js项目的服务端性能优化与错误检测(容错处理)
2019/10/23 Javascript
Node.js API详解之 console模块用法详解
2020/05/12 Javascript
原生javascript如何实现共享onload事件
2020/07/03 Javascript
利用 Chrome Dev Tools 进行页面性能分析的步骤说明(前端性能优化)
2021/02/24 Javascript
python实现简单温度转换的方法
2015/03/13 Python
利用python生成一个导出数据库的bat脚本文件的方法
2016/12/30 Python
mac安装scrapy并创建项目的实例讲解
2018/06/13 Python
tensorboard显示空白的解决
2020/02/15 Python
英国第一的购买便宜玩具和游戏的在线购物网站:Bargain Max
2018/01/24 全球购物
eDreams加拿大:廉价航班、酒店和度假
2019/03/29 全球购物
Can a struct inherit from another struct? (结构体能继承结构体吗)
2016/09/25 面试题
高二化学教学反思
2014/01/30 职场文书
村党支部对照检查材料思想汇报
2014/09/28 职场文书
2014年节能降耗工作总结
2014/12/11 职场文书
村级干部党员公开承诺事项
2015/05/04 职场文书
如何用python插入独创性声明
2021/03/31 Python