js実現クロックClock

25055 ワード

js実現クロックClock
目次
  • jsクロックClockを実現
  • ディレクトリ
  • 構想
  • ソースコード
  • js部
  • css部
  • html部




  • 構想
    ドキドキする心に基づいて、暇な時にjsを利用して書いた時計を書きます.
  • Date()現在時刻
  • を取得する.
  • getHours()現在時刻
  • を取得
  • getMinutes()現在のスコア
  • を取得
  • getSeconds()現在の秒
  • を取得
  • oHours=(hour+min/60)*30時を角度
  • に変換
  • oMin=(min+sec/60)*6は角度
  • に変換されます.
  • oSec=sec*6秒を角度
  • に変換
  • 関数draw(dom,angle)はポインタ
  • を描く.
    ソースコード
    以下にjsを用いてクロックClockを実現するソースコードを示す.
    js部分
    function frame() {
        var date = new Date();
        var hour = date.getHours();
        var min = date.getMinutes();
        var sec = date.getSeconds();
        var oHours = (hour + min/60) * 30;
        var oMin = (min + sec/60) * 6;
        var oSec = sec * 6;
    
        var $sec = document.getElementsByClassName('second')[0];
        var $min = document.getElementsByClassName('minute')[0];
        var $hour = document.getElementsByClassName('hour')[0];
    
        function draw(dom, angle) {
            dom.style.transform = 'rotate(' + angle + 'deg)';   
        }
    
        draw($hour, oHours);
        draw($min, oMin);
        draw($sec, oSec);
    
    }
    frame();
    var timer = setInterval(frame, 1000);

    css部分
    * {
        padding: 0;
        margin: 0;
    }
    html {
        font-size: 16px;
    }
    body {
        font-size: 100%;
    }
    
    .outring {
        position: relative;
        margin: 2em auto;
        width: 20em;
        height: 20em;
        border: 8px solid #888;
        border-radius: 20em;
    }
    
    .number span {
        width: 10%;
        height: 10%;
        font-size: 1.6em;
    }
    .nine {
        position: absolute;
        top: 45%;
        left: 3%;
    }
    .ten {
        position: absolute;
        top: 25.5%;
        left: 9.3%;
    }
    .eleven {
        position: absolute;
        top: 9.3%;
        left: 24.5%;
    }
    .twelve {
        position: absolute;
        top: 3%;
        left: 45%;
    }
    .one {
        position: absolute;
        top: 9.3%;
        right: 23.2%;
    }
    .two {
        position: absolute;
        top: 25.5%;
        right: 7.3%;
    
    }
    .three {
        position: absolute;
        top: 45%;
        right: -2%;
    }
    .four {
        position: absolute;
        bottom: 25.5%;
        right: 7.3%; 
    }
    .five {
        position: absolute;
        bottom: 9.3%;
        right: 22.2%;
    }
    .six {
        position: absolute;
        bottom: 3%;
        right: 42.5%;
    }
    .seven {
        position: absolute;
        bottom: 9.3%;
        left: 26.5%;
    }
    .eight {
        position: absolute;
        bottom: 25.5%;
        left: 12.5%;
    }
    
    .word {
        position: absolute;
        top: 60%;
        left: 30%;
        height: 10%;
        width: 40%;
        font-size: 0.6em;
        font-family: cursive;
        text-align: center;
    }
    
    .point {
        position: absolute;
        top: 48%;
        left: 48%;
        width: 4%;
        height: 4%;
        background-color: black;
        border-radius: 4em;
    }
    .hour {
        position: absolute;
        top: 20%;
        left: 48.5%;
        width: 3%;
        height: 30%;
        background-color: #888;
        border-radius: 25px;
        transform-origin: center bottom;
    /*  transform: rotate(-90deg);*/
    }
    .minute {
        position: absolute;
        top: 10%;
        left: 49%;
        width: 2%;
        height: 40%;
        background-color: #555;
        border-radius: 25px;
        transform-origin: center bottom;
    /*  transform: rotate(-90deg);*/
    }
    .second {
        position: absolute;
        top: 4%;
        left: 49.5%;
        width: 1%;
        height: 46%;
        background-color: rgb(200,100,100);
        border-radius: 25px;
        transform-origin: center bottom;
    /*  transition: all 1s linear;
        transform: rotate(0deg);*/
    }

    htmlセクション
    
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <link rel="stylesheet" href="css/clock.css">
    
        <title>Clocktitle>
    head>
    <body>
    
        <audio autoplay="autoplay" loop>
            <source src="miao.mp3" type="audio/mpeg">
        audio>
    
        <div class="outring">
            <div class="clock">
                <div class="number">
                    <span class="nine">9span>
                    <span class="ten">10span>
                    <span class="eleven">11span>
                    <span class="twelve">12span>
                    <span class="one">1span>
                    <span class="two">2span>
                    <span class="three">3span>
                    <span class="four">4span>
                    <span class="five">5span>
                    <span class="six">6span>
                    <span class="seven">7span>
                    <span class="eight">8span>
                div>
                <div class="word">Design By Qundiv>
                <div class="hour">div>
                <div class="minute">div>
                <div class="second">div>
                <div class="point">div>
            div>
        div>
    
    
        <script type="text/javascript" src="js/clock.js">script>
    body>
    html>