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 相关文章推荐
不使用jquery实现js打字效果示例分享
Jan 19 Javascript
推荐10个2014年最佳的jQuery视频插件
Nov 12 Javascript
基于javascript实现九九乘法表
Mar 27 Javascript
基于JQuery实现图片上传预览与删除操作
May 24 Javascript
jquery二级目录选中当前页的css样式
Dec 08 Javascript
JS基于正则表达式实现的密码强度验证功能示例
Sep 21 Javascript
javascript中undefined的本质解析
Jul 31 Javascript
webpack HappyPack实战详解
Oct 08 Javascript
JavaScript 俄罗斯方块游戏实现方法与代码解释
Apr 08 Javascript
微信小程序自定义扫码功能界面的实现代码
Jul 02 Javascript
JS实现无限轮播无倒退效果
Sep 21 Javascript
vue+element实现动态加载表单
Dec 13 Vue.js
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使用指定字符列表生成随机字符串的方法
2015/04/18 PHP
ThinkPHP表单数据智能写入create方法实例分析
2015/09/27 PHP
php中文乱码问题的终极解决方案汇总
2017/08/01 PHP
php给数组赋值的实例方法
2019/09/26 PHP
Javascript 二维数组
2009/11/26 Javascript
JQuery与JSon实现的无刷新分页代码
2011/09/13 Javascript
jquery scrollTop方法根据滚动像素显示隐藏顶部导航条
2013/05/27 Javascript
js获取多个tagname的节点数组
2013/09/22 Javascript
让浏览器DOM元素最后加载的js方法
2014/07/29 Javascript
JavaScript实现按Ctrl键打开新页面
2014/09/04 Javascript
js读取并解析JSON类型数据的方法
2015/11/14 Javascript
JS表格组件神器bootstrap table详解(基础版)
2015/12/08 Javascript
Bootstrap~多级导航(级联导航)的实现效果【附代码】
2016/03/08 Javascript
bootstrap table单元格新增行并编辑
2017/05/19 Javascript
如何使用vuex实现兄弟组件通信
2018/11/02 Javascript
node.js实现为PDF添加水印的示例代码
2018/12/05 Javascript
大转盘抽奖小程序版 转盘抽奖网页版
2020/04/16 Javascript
mpvue全局引入sass文件的方法步骤
2019/03/06 Javascript
Python函数式编程指南(二):从函数开始
2015/06/24 Python
python安装oracle扩展及数据库连接方法
2017/02/21 Python
使用python实现tcp自动重连
2017/07/02 Python
Python爬虫实现爬取京东手机页面的图片(实例代码)
2017/11/30 Python
解决pycharm运行时interpreter为空的问题
2018/10/29 Python
python 机器学习之支持向量机非线性回归SVR模型
2019/06/26 Python
python进阶之自定义可迭代的类
2019/08/20 Python
美国优质宠物用品购买网站:Muttropolis
2020/02/17 全球购物
分解成质因数(如435234=251*17*17*3*2,据说是华为笔试题)
2014/07/16 面试题
销售代表求职自荐信
2013/10/01 职场文书
函授本科自我鉴定
2013/11/03 职场文书
安全生产活动月方案
2014/03/09 职场文书
预备党员转正考核材料
2014/06/03 职场文书
招标承诺书
2014/08/30 职场文书
习总书记三严三实学习心得体会
2014/10/13 职场文书
2014年学校安全工作总结
2014/11/13 职场文书
安全员岗位职责范本
2015/04/11 职场文书
政协工作总结2015
2015/05/20 职场文书