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 相关文章推荐
改写一个简单的菜单 弹性大小
Dec 02 Javascript
JS 如何获取radio选中后的值及不选择取radio的值
Oct 28 Javascript
php跨域调用json的例子
Nov 13 Javascript
node.js Web应用框架Express入门指南
May 28 Javascript
显示今天的日期js代码(阳历和农历)
Sep 30 Javascript
使用jquery.form.js实现图片上传的方法
May 05 Javascript
使用Javascript简单计算器
Nov 17 Javascript
JavaScript函数的特性与应用实践深入详解
Dec 30 Javascript
vue实现的仿淘宝购物车功能详解
Jan 27 Javascript
node将geojson转shp返回给前端的实现方法
May 29 Javascript
使用pkg打包ThinkJS项目的方法步骤
Dec 30 Javascript
AngularJS实现多级下拉框
Mar 25 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获得数组交集与差集的方法
2015/06/10 PHP
php版微信公众平台入门教程之开发者认证的方法
2016/09/26 PHP
php使用str_shuffle()函数生成随机字符串的方法分析
2017/02/17 PHP
php5与php7的区别点总结
2019/10/11 PHP
通过继承IHttpHandle实现JS插件的组织与管理
2010/07/13 Javascript
JavaScript的设计模式经典之建造者模式
2016/02/24 Javascript
BootStrap制作导航条实例代码
2016/05/06 Javascript
Javascript随机标签云代码实例
2016/06/21 Javascript
JS 面向对象之继承---多种组合继承详解
2016/07/10 Javascript
JS动态给对象添加事件的简单方法
2016/07/19 Javascript
使用Javascript判断浏览器终端设备(PC、IOS(iphone)、Android)
2017/01/04 Javascript
AngularJS实现tab选项卡的方法详解
2017/07/05 Javascript
vue表单绑定实现多选框和下拉列表的实例
2017/08/12 Javascript
JavaScript显式数据类型转换详解
2019/03/18 Javascript
JS实现移动端点击按钮复制文本内容
2019/07/28 Javascript
vue组件命名和props命名代码详解
2019/09/01 Javascript
如何在微信小程序中存setStorage
2019/12/13 Javascript
bootstrap实现嵌套模态框的实例代码
2020/01/10 Javascript
Javascript新手入门之字符串拼接与变量的应用
2020/12/03 Javascript
使用Python脚本实现批量网站存活检测遇到问题及解决方法
2016/10/11 Python
Python 读取图片文件为矩阵和保存矩阵为图片的方法
2018/04/27 Python
python字符串反转的四种方法详解
2019/12/02 Python
pandas实现excel中的数据透视表和Vlookup函数功能代码
2020/02/14 Python
基于python生成英文版词云图代码实例
2020/05/16 Python
Python排序函数的使用方法详解
2020/12/11 Python
python接口自动化框架实战
2020/12/23 Python
详解HTML5中的picture元素响应式处理图片
2018/01/03 HTML / CSS
iPad和Surface Pro蓝牙键盘:Brydge
2018/11/10 全球购物
客服文员岗位职责
2013/11/29 职场文书
英文自我鉴定
2013/12/10 职场文书
校庆标语集锦
2014/06/25 职场文书
停电通知范文
2015/04/16 职场文书
音乐之声观后感
2015/06/04 职场文书
Java时间工具类Date的常用处理方法
2022/05/25 Java/Android
JS精髓原型链继承及构造函数继承问题纠正
2022/06/16 Javascript
修改Nginx配置返回指定content-type的方法
2022/09/23 Servers