我目前正在学习JavaScript和尝试了很多东西,但现在,我的JS羹汤仍然非常有限。 我创建了一个小游戏,其中有一个随机出现兔子头的盒子,用户必须尽可能快地点击它们。JavaScript的眼睛闪烁动画
因此,我创建了兔子与间隔动画,其中兔子关闭,每隔2秒钟内睁开双眼。 现在我觉得有点愚蠢,但我无法设法让动画像我想要的那样工作。现在兔子每2秒钟就闭上眼睛,然后每2秒再打开一次。但是,我希望它只是闪烁,这意味着眼睛应该关闭一瞬间,然后再次打开,以便兔子每2秒闪烁一次。 然后我也想随机有时只眨眼一次,有时眨眼两次。 不知道这是否容易,我只是盲目从编码的东西和学习新的东西的小时,但似乎我可能需要你的帮助在这里。
整个事情Here is a fiddle,因为它是现在。
你可以看到,在小提琴内部使用的完整代码。我不想在代码部分发布整个网站,但我认为这些部分对我的动画很感兴趣。
下面是眨眼的js代码:
var eyeleft = document.getElementById("eyeleft");
var eyeright = document.getElementById("eyeright");
window.onload = setInterval(function() {
eyeleft.className = (eyeleft.className != 'closedeyeleft' ? 'closedeyeleft' : 'eyeleft');
eyeright.className = (eyeright.className != 'closedeyeright' ? 'closedeyeright' : 'eyeright');
}, 2000);
接下来的HTML
<div id="shape" class="game-shapes">
<div class="ears left"></div>
<div class="ears right"></div>
<div id="eyeleft" class="eyeleft"></div>
<div id="eyeright" class="eyeright"></div>
<div id="mouth">
<div id="tooth"></div>
<div id="tongue"></div>
</div>
</div>
现在CSS
.game-shapes {
height: 80px;
width: 80px;
cursor: pointer;
opacity: 0;
position: relative;
transition: opacity ease-in-out .2s;
}
.game-shapes div {
position: absolute;
}
.eyeleft,
.eyeright {
background: #000;
border-radius: 50%;
width: 20px;
height: 20px;
top: 30px;
}
.eyeleft {
left: 4px;
}
.eyeright {
right: 4px;
}
.eyeleft:before,
.eyeleft:after,
.eyeright:before,
.eyeright:after {
content: '';
background: #fff;
width: 7px;
height: 7px;
top: 4px;
left: 4px;
border-radius: 50%;
position: absolute;
z-index: 5;
}
.eyeleft:after,
.eyeright:after {
width: 4px;
height: 4px;
top: 10px;
left: 10px;
}
.closedeyeleft,
.closedeyeright {
background: transparent none repeat scroll 0 0;
border-color: #000;
border-radius: 5px;
border-style: solid;
border-width: 4px 4px 0;
height: 4px;
top: 35px;
width: 12px;
}
.closedeyeleft {
left: 3px;
}
.closedeyeright {
right: 3px;
}
我喜欢随机第二眨眼:)这里有一个小提琴,如果有人要检查过https://jsfiddle.net/y390jcx8/4/ –
哎呦哈哈我忘了将我的mod发布到小提琴上。谢谢MX! – CollinD
非常感谢您的快速帮助。这个版本效果最好。 – Supapinzi