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

 更新时间:2017年11月28日 15:18:13   作者:急速奔跑中的蜗牛  
这是一个简单但是印象深刻的小游戏,打气球小游戏的实现代码,主要基于js和css3,基于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中两种链式调用实现代码

    JavaScript中两种链式调用实现代码

    方法链一般适合对一个对象进行连续操作(集中在一句代码)。一定程度上可以减少代码量,缺点是它占用了函数的返回值。
    2011-01-01
  • layui use 定义js外部引用函数的方法

    layui use 定义js外部引用函数的方法

    今天小编就为大家分享一篇layui use 定义js外部引用函数的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • JS实现数字格式千分位相互转换方法

    JS实现数字格式千分位相互转换方法

    下面小编就为大家带来一篇JS实现数字格式千分位相互转换方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-08-08
  • 原生js实现五子棋游戏

    原生js实现五子棋游戏

    这篇文章主要为大家详细介绍了原生js实现五子棋游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • JavaScript使用百度ECharts插件绘制饼图操作示例

    JavaScript使用百度ECharts插件绘制饼图操作示例

    这篇文章主要介绍了JavaScript使用百度ECharts插件绘制饼图操作,结合实例形式分析了JavaScript使用百度ECharts插件绘制饼图的原理、步骤及相关操作注意事项,需要的朋友可以参考下
    2019-11-11
  • js实现网页右上角滑出会自动消失大幅广告的方法

    js实现网页右上角滑出会自动消失大幅广告的方法

    这篇文章主要介绍了js实现网页右上角滑出会自动消失大幅广告的方法,是javascript广告特效的典型应用,非常具有实用价值,需要的朋友可以参考下
    2015-02-02
  • uni-app动态修改导航栏标题简单步骤

    uni-app动态修改导航栏标题简单步骤

    uniapp作为一款开源软件,可以做到一端多用,不过也有局限,在开发中有时候需要动态的去修改标题,下面这篇文章主要给大家介绍了关于uni-app动态修改导航栏标题的相关资料,需要的朋友可以参考下
    2023-06-06
  • js 可拖动列表实现代码

    js 可拖动列表实现代码

    前天做了个树形菜单,今天接着让它可拖动。非常不错的效果,需要的朋友可以参考下。
    2011-12-12
  • JS面向对象编程详解

    JS面向对象编程详解

    这篇文章主要为大家详细介绍了JS面向对象编程,帮助大家更详细的对JS面向对象进行学习,感兴趣的朋友可以参考一下
    2016-03-03
  • JavaScript通过代码调用Flash显示的方法

    JavaScript通过代码调用Flash显示的方法

    这篇文章主要介绍了JavaScript通过代码调用Flash显示的方法,实例分析了JavaScript通过flash插件swfobject.js调用flash显示的具体操作技巧,需要的朋友可以参考下
    2016-02-02

最新评论