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 相关文章推荐
ExtJS 2.0实用简明教程之应用ExtJS
Apr 29 Javascript
基于jquery.Jcrop的头像编辑器
Mar 01 Javascript
js对数字的格式化使用说明
Jan 12 Javascript
JavaScript对象之间的转换 jQuery对象和原声DOM
Mar 07 Javascript
Jquery之Ajax运用 学习运用篇
Sep 26 Javascript
js获取URL的参数的方法(getQueryString)示例
Sep 29 Javascript
Node.js与Sails ~项目结构与Mvc实现及日志机制
Oct 14 Javascript
限制文本框只能输入数字||只能是数字和小数点||只能是整数和浮点数
May 27 Javascript
js自制图片放大镜功能
Jan 24 Javascript
jQuery Position方法使用和兼容性
Aug 23 jQuery
JavaScript的setter与getter方法
Nov 29 Javascript
基于vue-cli3创建libs库的实现方法
Dec 04 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
destoon利用Rewrite规则设置网站安全
2014/06/21 PHP
php基于闭包实现函数的自调用(递归)实例分析
2016/11/11 PHP
php利用imagemagick实现复古老照片效果实例
2017/02/16 PHP
PHP实现的简单路由和类自动加载功能
2018/03/13 PHP
PHP如何通过带尾指针的链表实现'队列'
2020/10/22 PHP
JavaScript 高级语法介绍
2009/06/15 Javascript
JavaScript的类型转换(字符转数字 数字转字符)
2010/08/30 Javascript
javascript string字符串优化问题
2011/07/31 Javascript
jQuery自定义事件的简单实现代码
2014/01/27 Javascript
node.js适合游戏后台开发吗?
2014/09/03 Javascript
jQuery对JSON数据进行排序输出的方法
2015/06/24 Javascript
CSS中position属性之fixed实现div居中
2015/12/14 Javascript
JavaScript中style.left与offsetLeft的使用及区别详解
2016/06/08 Javascript
JS控制页面跳转时未请求要跳转的地址怎么回事
2016/10/14 Javascript
js前端实现多图图片上传预览的两个方法(推荐)
2016/11/18 Javascript
Bootstrap的popover(弹出框)在append后弹不出(失效)
2017/02/27 Javascript
Vue使用高德地图搭建实时公交应用功能(地图 + 附近站点+线路详情 + 输入提示+换乘详情)
2018/05/16 Javascript
简单了解常用的JavaScript 库
2020/07/16 Javascript
python类中super()和__init__()的区别
2016/10/18 Python
对python中raw_input()和input()的用法详解
2018/04/22 Python
判断python对象是否可调用的三种方式及其区别详解
2019/01/31 Python
python3 写一个WAV音频文件播放器的代码
2019/09/27 Python
python time.strptime格式化实例详解
2021/02/03 Python
CSS3绘制圆角矩形的简单示例
2015/09/28 HTML / CSS
CSS中的字体大小设置属性总结
2016/05/24 HTML / CSS
学生干部的自我评价分享
2014/01/18 职场文书
优秀教师事迹简介
2014/02/02 职场文书
税务会计岗位职责
2014/02/18 职场文书
二手房购房意向书范本
2014/04/01 职场文书
个人作风建设自查报告
2014/10/22 职场文书
网络营销计划
2015/01/17 职场文书
美术教师个人总结
2015/02/06 职场文书
如何撰写促销方案?
2019/07/05 职场文书
创业计划书之香辣虾火锅
2019/09/23 职场文书
Python实现自动玩连连看的脚本分享
2022/04/04 Python
victoriaMetrics库布隆过滤器初始化及使用详解
2022/04/05 Golang