当前位置:首页 > 日记 > 正文

javascript+css3开发打气球小游戏完整代码

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开发打气球小游戏完整代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

相关文章

jQuery分页插件jquery.pagination.

jQuery分页插件jquery.pagination.

分页,插件,使用方法,电脑软件,jQuery,jquery.pagination.js插件,此jQuery插件为Ajax分页插件,一次性加载全部数据,故分页切换时无刷新与延迟,只是重写指定dom元素中的html内容,如果数据量较大不建议用此方法,因为加载会比较慢;jQuery的多数插件使…

node.js 利用流实现读写同步,边读

node.js 利用流实现读写同步,边读

读写,方法,同步,电脑软件,node,如下所示://10个数 10个字节,每次读4b,写1blet fs=require("fs");function pipe(source,target) { //先创建可读流,再创建可写流 //先读一次,rs.on(data) //将读到的类容写入目标中 ,返回布尔值,如果是ture,继…

ie下js不执行的几种可能

ie下js不执行的几种可能

不执行,几种,电脑软件,js,1、首先考虑的就是代码是否有报错2、其次搜索代码中是否有console.log等测试的代码3、检查所用的方法是否兼容ie以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!…

javascript闭包功能与用法实例分析

javascript闭包功能与用法实例分析

实例分析,闭包,功能,电脑软件,javascript,本文实例讲述了javascript闭包功能与用法。分享给大家供大家参考,具体如下:理解闭包闭包这个东西,确实是很麻烦。之前我自己的理解也是有一点误差,所以今天将文章修改修改,争取将自己的理解进一步准确化…

在Word2007中怎样设置默认表格样式

在Word2007中怎样设置默认表格样式

设置,默认,样式,表格,电脑软件,  默认情况下,在Word2007中插入的表格均默认使用普通样式。用户可以将表格样式库中最常用的表格样式作为默认样式,使新插入的表格都使用该样式。以下是小编为您带来的关于在Word2007中设置默认表格样式,希望对…

JQ文件上传之前预览功能的简单实例

JQ文件上传之前预览功能的简单实例

简单实例,分享,文件上传,功能,电脑软件,1、先准备一个divonchange触发事件<input type="file" onchange="preview(this)" ></span><div id="preview"></div>2、写JS代码//上传图片之前预览图片function preview(file){if (file.files…

在Word2007文档中怎么设置剪贴画棱

在Word2007文档中怎么设置剪贴画棱

文档,设置,效果,剪贴画,电脑软件,  在Word2007文档中,用户可以为剪贴画设置棱台效果,从而实现剪贴画的多种立体化效果,例如棱纹、斜面、凸起等棱台效果。以下是小编为您带来的关于在Word2007文档中设置剪贴画棱台效果,希望对您有所帮助。在Wo…

ES6中Array.find | 和findIndex |

ES6中Array.find | 和findIndex |

函数,详解,电脑软件,Array,findIndex,ES6为Array增加了find(),findIndex函数。find()函数用来查找目标元素,找到就返回该元素,找不到返回undefined。findIndex()函数也是查找目标元素,找到就返回元素的位置,找不到就返回-1。他们的都是一个查找…

js字符限制 | 字符截取 一个中文汉

js字符限制 | 字符截取 一个中文汉

字符,字符截取,中文,汉字,两个,html<input type="text" id="txt">核心js代码//字符串截取function getByteVal(val, max) {var returnValue = '';var byteValLen = 0;for (var i = 0; i < val.length; i++) {if (val[i].match(/[^\x…

如何给photoshop安装新的字体

如何给photoshop安装新的字体

安装,字体,方法,电脑软件,photoshop,  给photoshop安装新的字体,也是为了我们可以用到更多不同的字体。但是很多同学还不太清楚。那么接下来下面是小编整理的一些关于如何给photoshop安装新的字体,供您参阅。给photoshop安装新的字体的方法…

javascript基础练习之翻转字符串与

javascript基础练习之翻转字符串与

回文字符串,字符串,基础,回文,电脑软件,翻转字符串翻转字符串(Reverse a String),就是把字符串倒序处理的意思,比如给定一个字符串”hello”,翻转后应该返回”olleh”。测试用例reverseString("hello") 应该返回 “olleh” reverseString(…

php array_reverse 以相反的顺序返

php array_reverse 以相反的顺序返

实例代码,数组,顺序,电脑软件,php,php array_reverse函数返回一个单元顺序相反的数组,该函数有两个参数,第一个参数表示需要处理的数组,第二个参数可选,规定是否保留原始数组的键名。本文章通过实例向大家讲解array_reverse函数的使用方法。需…