我目前正在學習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