Javascript digabungkan dengan Canvas untuk melaksanakan kemahiran clock_javascript bulat yang mudah

WBOY
Lepaskan: 2016-05-16 16:10:28
asal
1211 orang telah melayarinya

Saya belajar tentang elemen kanvas dalam HTML5 sebelum ini dan melaksanakan jam mudah untuk berlatih. Jam itu sendiri tidak rumit, dan tiada gambar digunakan untuk mencantikkannya Namun, walaupun burung pipit itu kecil dan mempunyai semua organ dalaman, saya akan berkongsi dengan anda di bawah:

Kesan demo:

kod html:

Salin kod Kod adalah seperti berikut:





Jam







Kod JS:

Salin kod Kod adalah seperti berikut:

var Kanvas = {};
Canvas.cxt = document.getElementById('canvasId').getContext('2d');
Canvas.Point = fungsi(x, y){
Ini.x = x;
This.y = y;
};
/*Padam semua grafik pada kanvas*/
Canvas.clearCxt = ​​​​function(){
var saya = ini;
var canvas = me.cxt.canvas;
​ ​ me.cxt.clearRect(0,0, canvas.offsetWidth, canvas.offsetHeight);
};
/*jam*/
Canvas.Clock = function(){
var me = Kanvas,
          c = saya.cxt,
​​jejari = 150, /*jejari*/
skala = 20, /*Panjang skala*/
         minangle = (1/30)*Math.PI, /*radians dalam satu minit*/
hourangle = (1/6)*Math.PI, /*Arka satu jam*/
jamPanjang Tangan = jejari/2, /*panjang tangan jam*/
        minPanjang Tangan = jejari/3*2, /*Panjang tangan minit*/
        secHandLength = jejari/10*9, /*Panjang tangan kedua*/
center = new me.Point(c.canvas.width/2, c.canvas.height/2); /*pusat bulatan*/
/*Lukis pusat bulatan (tengah dail)*/
fungsi drawCenter(){
          c.save();
           c.terjemah(center.x, center.y);            c.fillStyle = 'hitam';
           c.beginPath();
          c.arc(0, 0, radius/20, 0, 2*Math.PI);
           c.closePath();
          c.fill();
          c.stroke();
           c.restore();
};
/*Lukis dail melalui penjelmaan koordinat*/
Fungsi drawBackGround(){
          c.save();
           c.terjemah(center.x, center.y); /*Transformasi terjemahan*/
          /*Skala lukisan*/
         fungsi drawScale(){
                c.moveTo(radius - skala, 0);
                 c.lineTo(radius, 0);         };
           c.beginPath();
          c.arc(0, 0, radius, 0, 2*Math.PI, true);
           c.closePath();
untuk (var i = 1; i <= 12; i ) {
            drawScale();
              c.putar(jam jam); /*Transformasi putaran*/
        };
/*Masa melukis (3,6,9,12)*/
c.font = " impak tebal 30px"
c.fillText("3", 110, 10);
          c.fillText("6", -7, 120);
          c.fillText("9", -120, 10);
          c.fillText("12", -16, -100);
          c.stroke();
           c.restore();
};
/*Lukis jarum jam (h: masa semasa (jam 24 jam))*/
This.drawHourHand = function(h){
h = h === 0? 24: h;
          c.save();
           c.terjemah(center.x, center.y);           c.rotate(3/2*Math.PI);
          c.putar(h*hourangle);
           c.beginPath();
           c.moveTo(0, 0);
           c.lineTo(hourHandLength, 0);
          c.stroke();
           c.restore();
};
/*Lukis jarum minit (m: minit semasa)*/
This.drawMinHand = function(m){
           m = m === 60: m;
          c.save();
           c.terjemah(center.x, center.y);           c.rotate(3/2*Math.PI);
          c.putar(m*minangle);
           c.beginPath();
           c.moveTo(0, 0);
           c.lineTo(minHandLength, 0);
          c.stroke();
           c.restore();
};
/*Lukis tangan kedua (s: saat semasa)*/
This.drawSecHand = function(s){
s = s === 0? 60: s;
          c.save();
           c.terjemah(center.x, center.y);           c.rotate(3/2*Math.PI);
          c.putar(s*minangle);
           c.beginPath();
           c.moveTo(0, 0);
           c.lineTo(secHandLength, 0);
          c.stroke();
           c.restore();
};
/*Lukis jam berdasarkan waktu tempatan*/
This.drawClock = function(){
        var saya = ini;
         draw function(){
          var date = new Date();
​​​​​ Canvas.clearCxt();
             drawBackGround();
           drawCenter();
              saya.drawHourHand(date.getHours() date.getMinutes()/60);
               saya.drawMinHand(date.getMinutes() date.getSeconds()/60);
              saya.drawSecHand(date.getSeconds());
}
       draw();
setInterval(draw, 1000);
};
};
var main = function(){
jam var = Canvas.Clock();
clock.drawClock();
};


Kod ini melibatkan beberapa API elemen kanvas mudah, sila cuba

Di atas adalah keseluruhan kandungan artikel ini, saya harap ia akan membantu semua orang yang belajar kanvas.

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!