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 相关文章推荐
动态样式类封装JS代码
Sep 02 Javascript
JavaScript中Object和Function的关系小结
Sep 26 Javascript
快速解决jQuery与其他库冲突的方法介绍
Jan 02 Javascript
avascript中的自执行匿名函数应用示例
Sep 15 Javascript
JS实现复制内容到剪贴板功能兼容所有浏览器(推荐)
Jun 17 Javascript
关于JavaScript限制字数的输入框的那些事
Aug 14 Javascript
基于JavaScript实现鼠标向下滑动加载div的代码
Aug 31 Javascript
浅谈vue的props,data,computed变化对组件更新的影响
Jan 16 Javascript
浅谈FastClick 填坑及源码解析
Mar 02 Javascript
学习Vue组件实例
Apr 28 Javascript
微信小程序实现topBar底部选择栏效果
Jul 20 Javascript
Angular使用cli生成自定义文件、组件的方法
Sep 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
PHP中查询SQL Server或Sybase时TEXT字段被截断的解决方法
2009/03/10 PHP
对淘宝URL中ID提取的PHP代码
2013/09/01 PHP
PHP模板引擎Smarty自定义变量调解器用法
2016/04/11 PHP
thinkphp利用模型通用数据编辑添加和删除的实例代码
2016/11/20 PHP
PHP实现防盗链的方法分析
2017/07/25 PHP
php设计模式之迭代器模式实例分析【星际争霸游戏案例】
2020/04/07 PHP
jquery prop的使用介绍及与attr的区别
2013/12/19 Javascript
JavaScript代码应该放在HTML代码哪个位置比较好?
2014/10/16 Javascript
再JavaScript的jQuery库中编写动画效果的指南
2015/08/13 Javascript
半个小时学json(json传递示例)
2016/12/25 Javascript
整理关于Bootstrap警示框的慕课笔记
2017/03/29 Javascript
vue2.0 keep-alive最佳实践
2017/07/06 Javascript
vue、react等单页面项目应该这样子部署到服务器
2018/01/03 Javascript
微信小程序实现登录遮罩效果
2018/11/01 Javascript
小程序关于请求同步的总结
2019/05/05 Javascript
Python多线程、异步+多进程爬虫实现代码
2016/02/17 Python
Python贪吃蛇游戏编写代码
2020/10/26 Python
基于Python对象引用、可变性和垃圾回收详解
2017/08/21 Python
Python排序搜索基本算法之堆排序实例详解
2017/12/08 Python
浅谈Python2、Python3相对路径、绝对路径导入方法
2018/06/22 Python
Python分割指定页数的pdf文件方法
2018/10/26 Python
python根据url地址下载小文件的实例
2018/12/18 Python
python opencv判断图像是否为空的实例
2019/01/26 Python
Python中关于浮点数的冷知识
2019/09/22 Python
python mqtt 客户端的实现代码实例
2019/09/25 Python
利用Vscode进行Python开发环境配置的步骤
2020/06/22 Python
基于tf.shape(tensor)和tensor.shape()的区别说明
2020/06/30 Python
PyCharm最新激活码(2020/10/27全网最新)
2020/10/27 Python
小学生自我鉴定
2013/10/12 职场文书
给老婆的检讨书1000字
2015/01/01 职场文书
简爱电影观后感
2015/06/10 职场文书
2015年街道办事处团委工作总结
2015/10/14 职场文书
2016年妇联“6﹒26国际禁毒日”宣传活动总结
2016/04/05 职场文书
nginx配置ssl实现https的方法示例
2021/03/31 Servers
Python制作一个随机抽奖小工具的实现
2021/07/07 Python
Windows server 2022创建创建林、域树、子域的步骤
2022/06/25 Servers