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 相关文章推荐
背景音乐每次刷新都可以自动更换
Feb 01 Javascript
JavaScript去掉空格的方法集合
Dec 28 Javascript
利用JQuery动画制作滑动菜单项效果实现步骤及代码
Feb 07 Javascript
jquery创建表格(自动增加表格)代码分享
Dec 25 Javascript
jQuery使用hide方法隐藏页面上指定元素的方法
Mar 30 Javascript
AngularJS 视图详解及示例代码
Aug 17 Javascript
JS实现上传图片实时预览功能
May 22 Javascript
Vue.js中的图片引用路径的方式
Jul 28 Javascript
JQuery中queue方法用法示例
Jan 31 jQuery
详解小程序退出页面时清除定时器
Apr 28 Javascript
微信小程序wepy框架学习和使用心得详解
May 24 Javascript
Layui实现主窗口和Iframe层参数传递
Nov 14 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设计模式中单例模式的应用分析
2013/05/15 PHP
php+jQuery+Ajax实现点赞效果的方法(附源码下载)
2020/07/21 PHP
PHP单链表的实现代码
2016/07/05 PHP
Yii实现复选框批量操作实例代码
2017/03/15 PHP
Laravel路由研究之domain解决多域名问题的方法示例
2019/04/04 PHP
php中关于换行的实例写法
2019/09/26 PHP
JavaScript 继承详解(二)
2009/07/13 Javascript
jQuery链式操作如何实现以及为什么要用链式操作
2013/01/17 Javascript
javascript根据时间生成m位随机数最大13位
2014/10/30 Javascript
Javascript中获取对象的原型对象的方法小结
2015/02/25 Javascript
jQuery检测鼠标左键和右键点击的方法
2015/03/17 Javascript
js格式化输入框内金额、银行卡号
2016/02/01 Javascript
Javascript中的Prototype到底是什么
2016/02/16 Javascript
javascript求日期差的方法
2016/03/02 Javascript
JS控制弹出悬浮窗口(一览画面)的实例代码
2016/05/30 Javascript
Vue2.x Todo之自定义指令实现自动聚焦的方法
2019/01/08 Javascript
JavaScript中交换值的10种方法总结
2020/08/18 Javascript
Python进阶-函数默认参数(详解)
2017/05/18 Python
利用python3随机生成中文字符的实现方法
2017/11/24 Python
python3 实现一行输入,空格隔开的示例
2018/11/14 Python
python实现支付宝转账接口
2019/05/07 Python
解决python web项目意外关闭,但占用端口的问题
2019/12/17 Python
pycharm 2018 激活码及破解补丁激活方式
2020/09/21 Python
matplotlib相关系统目录获取方式小结
2021/02/03 Python
CSS3媒体查询Media Queries基础学习教程
2016/02/29 HTML / CSS
H5 meta小结(前端必看篇)
2016/08/24 HTML / CSS
菲律宾购物网站:Lazada菲律宾
2018/04/05 全球购物
ReVive利维肤美国官网:RéVive Skincare
2018/04/18 全球购物
企业形象策划方案
2014/05/29 职场文书
平面设计专业求职信
2014/08/09 职场文书
单位实习鉴定评语
2015/01/04 职场文书
2015年行政执法工作总结
2015/05/23 职场文书
《当代神农氏》教学反思
2016/02/23 职场文书
深入理解CSS 中 transform matrix矩阵变换问题
2021/08/30 HTML / CSS
Python 数据可视化工具 Pyecharts 安装及应用
2022/04/20 Python
vue实现省市区联动 element-china-area-data插件
2022/04/22 Vue.js