도카벤 OP를 html/css/js에서 재현해 보았다

아무래도 매번 익숙한 나카노입니다. (아직 2번째의 투고)

이번에는 「도카벤의 오프닝의 문자가 떠오르는 녀석」을 만들었습니다.



도카벤 해보자

코드



index.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>ドカベン</title>
    <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
    <b><div class="dokaben" id="kadoben">ドカベン</div></b>
    <input type="text" id="dokabentext" value="ドカベン">
    <input type="button" name="db" id="dokabutton" value="ドカベンする" onclick="dokabenscript()">
    <script src="script.js"></script>
</body>
</html>

style.css
.dokaben{
    font-size:1000%;
    color:#ff0000;
}
#ani0{
    transform: rotateX(88deg);
}
#ani1 {
    transform: rotateX(80deg);
}
#ani2 {
    transform: rotateX(65deg);
}
#ani3 {
    transform: rotateX(50deg);
}
#ani4 {
    transform: rotateX(40deg);
}
#ani5 {
    transform: rotateX(30deg);
}
#ani6 {
    transform: rotateX(22deg);
}
#ani7 {
    transform: rotateX(14deg);
}  
#ani8 {
    transform: rotateX(7deg);
} 
#ani9 {
    transform: rotateX(0deg);
}   


script.js
let play=0///今動いているか
let count=1///アニメのカウント
let dokaben = document.getElementById("kadoben");///動作をする要素

function dokabenscript(){
    if(play>0){///もしプレイしていたら
        return;///やらせない(固い意志)
    }

    play=1///動いていることにする

    dokaben.innerHTML=document.getElementById("dokabentext").value;///入力された文字を反映

    count = 0;///カウントをゼロに
    dokaben.id=("ani0")///アニメをゼロに戻す

    let intarval = setInterval(function(){

        count++;///カウントしていく
        dokaben.id=("ani"+count);///IDを書き換え

        if(count >= 9){///アニメが終了したら
            clearInterval(intarval); //intervalを終わる
            play=0///動いていないことにする
        }

    },200)

}

기본은, setInterval(function(){~},200) 로 1회씩 ID를 변경해 움직이고 있는 것처럼 보이고 있을 뿐입니다.

단시간에 생각한 스크립트이므로, 구조는 간단합니다.

모두 변경하고 놀자!

앞으로 하고 싶은 일


  • 다른 재현 앱 만들기
  • 좀 더 재현도를 높이는 etc...
  • 좋은 웹페이지 즐겨찾기