StudentCodingHUB

Use programming to create innovative things.
  • new post

    Monday, 28 October 2019

    Digital Clock Using in html,css and javaScript


    Digital Clock 


    <!DOCTYPE html>
    <html>
    <style>
    .border{
      padding: 10px;
      border: 10px solid #336699;
      width: 364px;
     align:center; 
     font-size:250%;
     margin-left: auto;
     margin-right: auto;
    }
    .can{
    text-align:center;
    align-content: center;
    }
    </style>
    <body>

    <div class="can">
    <canvas id="canvas" width="400" height="400"
    style="background-color:#336699">
    </canvas>

    <div class="border">

    <span id="dhour" >
    Hour
    </span>:
    <span id="dmin">
    Minute
    </span>:
    <span id="dsec">
    Second
    </span>

    </div>
    </div>
    <script>
    var canvas = document.getElementById("canvas");
    var ctx = canvas.getContext("2d");
    var radius = canvas.height / 2;
    ctx.translate(radius, radius);
    radius = radius * 0.90
    setInterval(drawClock, 1000);

    function drawClock() {

      drawFace(ctx, radius);
      drawNumbers(ctx, radius);
      drawTime(ctx, radius);
    }

    function drawFace(ctx, radius) {

      var grad;
      ctx.beginPath();
      ctx.arc(0, 0, radius, 0, 2*Math.PI);
      ctx.fillStyle = 'white';
      ctx.fill();
      grad = ctx.createRadialGradient(0,0,radius*0.95, 0,0,radius*1.05);
      grad.addColorStop(0, '#333');
      grad.addColorStop(0.5, '#e6b800');
      grad.addColorStop(1, '#ffeb99');
      ctx.strokeStyle = grad;
      ctx.lineWidth = radius*0.1;
      ctx.stroke();
      ctx.beginPath();
      ctx.arc(0, 0, radius*0.1, 0, 2*Math.PI);
      ctx.fillStyle = '#333';
      ctx.fill();
    }

    function drawNumbers(ctx, radius) {

      var ang;
      var num;
      ctx.font = radius*0.15 + "px arial";
      ctx.textBaseline="middle";
      ctx.textAlign="center";
      for(num = 1; num < 13; num++){
        ang = num * Math.PI / 6;
        ctx.rotate(ang);
        ctx.translate(0, -radius*0.85);
        ctx.rotate(-ang);
        ctx.fillText(num.toString(), 0, 0);
        ctx.rotate(ang);
        ctx.translate(0, radius*0.85);
        ctx.rotate(-ang);
      }
    }

    function drawTime(ctx, radius){

        var now = new Date();
        var hour = now.getHours();
        var minute = now.getMinutes();
        var second = now.getSeconds();
        //hour
        hour=hour%12;
        hour=(hour*Math.PI/6)+
        (minute*Math.PI/(6*60))+
        (second*Math.PI/(360*60));
        drawHand(ctx, hour, radius*0.5, radius*0.07);
        //minute
        minute=(minute*Math.PI/30)+(second*Math.PI/(30*60));
        drawHand(ctx, minute, radius*0.8, radius*0.07);
        // second
        second=(second*Math.PI/30);
        drawHand(ctx, second, radius*0.9, radius*0.02); 
        digitalClock();
    }

    function digitalClock(){ 

    var now = new Date();
    document.getElementById("dhour").innerHTML=now.getHours();
    document.getElementById("dmin").innerHTML=now.getMinutes();;
    document.getElementById("dsec").innerHTML=now.getSeconds();


    }


    function drawHand(ctx, pos, length, width) {

        ctx.beginPath();
        ctx.lineWidth = width;
        ctx.lineCap = "round";
        ctx.moveTo(0,0);
        ctx.rotate(pos);
        ctx.lineTo(0, -length);
        ctx.stroke();
        ctx.rotate(-pos);
    }
    </script>


    </body>
    </html>

    RUN CODE

    No comments:

    Post a Comment