目录
思路
利用盒子将每个洞包裹起来,然后给这个盒子一个初始背景图并且隐藏。触发定时器时显示,并且利用雪碧图,通过改变图片位置实现一个灰太狼上下的动画。利用随机数来实现灰太狼从哪个洞口出来和洞口出来的是灰太狼还是小灰灰,最后通过点击事件来加减分,进图条同样利用定时器实现。话不多说,下面上代码:
一、布局
利用 ul>li 将每个洞包裹起来,并且给个默认类名为 htl
<body>
<div class="bg">
<div>
<ul>
<li class="htl"></li>
<li class="htl"></li>
<li class="htl"></li>
<li class="htl"></li>
<li class="htl"></li>
<li class="htl"></li>
<li class="htl"></li>
<li class="htl"></li>
<li class="htl"></li>
</ul>
</div>
<div class="btn">
<div class="score"></div>
<button type="button"><span>开 始 游 戏</span></button>
</div>
<div class="time">
<img>
</div>
<div class="over"></div>
<div class="overScore"></div>
<div class="restart">重 新 开 始</div>
</div>
</body>
二、实现灰太狼向上动画
1、这里我们是利用雪碧图的位置来实现灰太狼的向上过程动画,初始值给 -1 ,是确保在进入动画时是自己需要的那一帧。
2、解读一下定时器,定时器有两种,一个是setTimeout(),这个只执行一次,然后就停止。还有一个是setInterval(),这个是循环执行,多次执行的。这里我们是需要灰太狼动,所以使用setInterval()定时器。
3、我们先使用for循环来写,也可以有一个较好的动画效果,就是所有的洞都有灰太狼显示。定时器要一开一清,不然多次使用会乱,就是出错,达不到自己所需要的效果。clearInterval()是清除定时器
4、清除以后,这一个向上动画算是做好了,然后重新写一个setTimeout()定时器调用一个向下的动画,后面那个600表示延时触发&