国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

canvas畫動態(tài)時鐘

BearyChat / 1753人閱讀

摘要:用畫動態(tài)時鐘代碼代碼保存當前畫布樣式切換中心點畫外圓畫數(shù)字畫時刻畫時針,分針,秒針將分,秒換算成小時返回上一個畫布樣式將秒換算成分畫圓心將所有事件封裝在一個函數(shù)中,為制作成動態(tài)時鐘做準備清空整個畫布初始化

用canvas畫動態(tài)時鐘

HTML代碼


  
: :

css:

*{margin: 0;padding: 0;}
div{
  text-align: center;
}
div.box{
  margin: 50px auto;
  text-align: center;
  font-size: 30px;
  display: flex;
  align-content: center;
  justify-content: center;
}
span{
  display: inline-block;
  width: 50px;
  height: 50px;
  line-height: 50px;
  border:2px solid #ccc;
  font-size: 20px;
  margin: 0px 20px;
}

js代碼

  var hourspan =document.getElementById("hour");
  var minutespan =document.getElementById("minute");
  var secondspan =document.getElementById("second");
  var dom = document.getElementById("clock");
  var ctx = dom.getContext("2d");
  var width = ctx.canvas.width;
  var height = ctx.canvas.height;
  var r = width/2;
  

  function drawBackground(){
    ctx.save(); //保存當前畫布樣式
    ctx.translate(r,r);//切換中心點
//畫外圓
    ctx.beginPath();
    ctx.lineWidth=10;
    ctx.arc(0,0,r-5,0,2*Math.PI,false);
    ctx.stroke();
//畫數(shù)字
    var hourNumber = [3,4,5,6,7,8,9,10,11,12,1,2];
    ctx.textAlign = "center";
    ctx.textBaseline = "middle";
    hourNumber.forEach(function(item,index){
      var rad = 2*Math.PI/12*index;
      var x = Math.cos(rad)*(r-30);
      var y = Math.sin(rad)*(r-30);
      ctx.fillText(item,x,y);
    })
//畫時刻
    for(var i=0;i<60;i++){
      var rad = 2*Math.PI/60*i;
      var x = Math.cos(rad)*(r-15);
      var y = Math.sin(rad)*(r-15);
      ctx.beginPath();
      ctx.arc(x,y,2,0,Math.PI*2,false);
      if(i%5 == 0){
        ctx.fillStyle = "#000";
        ctx.fill();
      }else{
        ctx.fillStyle = "#ccc";
        ctx.fill();
      }
    }
  }
//畫時針,分針,秒針
  function drawHour(hour,minute,second){
    ctx.save();
    ctx.beginPath();
    var rad = 2*Math.PI/12*hour+((2*Math.PI/12)*(minute+second/60)/60);//將分,秒換算成小時
    ctx.rotate(rad);
    ctx.strokeStyle = "#000";
    ctx.lineWidth = 4;
    ctx.lineCap = "round";
    ctx.moveTo(0,10);
    ctx.lineTo(0,-r/2);
    ctx.stroke();
    ctx.restore();//返回上一個畫布樣式
  }
  function drawMinute(minute,second){
    ctx.save();
    ctx.beginPath();
    var rad = 2*Math.PI/60*minute+(2*Math.PI/60)*(second/60);//將秒換算成分
    ctx.rotate(rad);
    ctx.strokeStyle = "#000";
    ctx.lineWidth = 6;
    ctx.lineCap = "round";
    ctx.moveTo(0,15);
    ctx.lineTo(0,-(r-25));
    ctx.stroke();
    ctx.restore();
  }
  function drawSecond(second){
    ctx.save();
    ctx.beginPath();
    ctx.strokeStyle = "red";
    var rad = 2*Math.PI/60*second;
    ctx.rotate(rad);
    ctx.lineWidth = 3;
    ctx.lineCap = "round";
    ctx.moveTo(0,20);
    ctx.lineTo(0,-(r-15));
    ctx.stroke();
    ctx.restore();
  }
//畫圓心
  function drawCicle(){
    ctx.save();
    ctx.beginPath();
    ctx.fillStyle ="#fff";
    ctx.arc(0,0,2,0,Math.PI*2,false);
    ctx.fill();
    ctx.restore();
  }
  
  
  //將所有事件封裝在一個函數(shù)中,為制作成動態(tài)時鐘做準備
  function timeActive(){
    ctx.clearRect(0,0,width,height);//清空整個畫布
    var date = new Date();
    var hour = date.getHours();
    var minute = date.getMinutes();
    var second = date.getSeconds();
    hourspan.innerText = hour;
    minutespan.innerText = minute;
    secondspan.innerText = second;
    drawBackground();
    drawHour(hour,minute,second);
    drawMinute(minute,second);
    drawSecond(second);
    drawCicle();
    ctx.restore();
  }
  timeActive();//初始化畫布
  setInterval("timeActive()",1000);

小生初出茅廬,希望各位海涵,看見網(wǎng)上的教學視頻后,感覺挺有意思的,手敲了一遍。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/50900.html

相關(guān)文章

  • canvas動態(tài)時鐘

    摘要:用畫動態(tài)時鐘代碼代碼保存當前畫布樣式切換中心點畫外圓畫數(shù)字畫時刻畫時針,分針,秒針將分,秒換算成小時返回上一個畫布樣式將秒換算成分畫圓心將所有事件封裝在一個函數(shù)中,為制作成動態(tài)時鐘做準備清空整個畫布初始化 用canvas畫動態(tài)時鐘 showImg(https://segmentfault.com/img/bVPBM0?w=528&h=423); HTML代碼 : ...

    Miyang 評論0 收藏0
  • canvas動態(tài)時鐘

    摘要:用畫動態(tài)時鐘代碼代碼保存當前畫布樣式切換中心點畫外圓畫數(shù)字畫時刻畫時針,分針,秒針將分,秒換算成小時返回上一個畫布樣式將秒換算成分畫圓心將所有事件封裝在一個函數(shù)中,為制作成動態(tài)時鐘做準備清空整個畫布初始化 用canvas畫動態(tài)時鐘 showImg(https://segmentfault.com/img/bVPBM0?w=528&h=423); HTML代碼 : ...

    shadajin 評論0 收藏0
  • 認識canvas扇形 動態(tài)圓弧(requestAnimationFrame結(jié)合settimeo

    摘要:最近做的兩個項目都是關(guān)于的,做完整理一下,方便下一次使用,在里寫的小,功能畫扇形動態(tài)畫圓弧結(jié)合做的動畫畫表盤創(chuàng)建一個對象方法開始畫筆設(shè)置填充顏色是順時針是逆時針默認是逆時針結(jié)束畫筆開始填充沒有直接創(chuàng)建一個對象方法開始畫筆設(shè)置填充顏色是順時針 最近做的兩個項目都是關(guān)于canvas的,做完整理一下,方便下一次使用,在vue里寫的小demo,功能:畫扇形 動態(tài)畫圓弧(requestAnima...

    xietao3 評論0 收藏0
  • 認識canvas扇形 動態(tài)圓弧(requestAnimationFrame結(jié)合settimeo

    摘要:最近做的兩個項目都是關(guān)于的,做完整理一下,方便下一次使用,在里寫的小,功能畫扇形動態(tài)畫圓弧結(jié)合做的動畫畫表盤創(chuàng)建一個對象方法開始畫筆設(shè)置填充顏色是順時針是逆時針默認是逆時針結(jié)束畫筆開始填充沒有直接創(chuàng)建一個對象方法開始畫筆設(shè)置填充顏色是順時針 最近做的兩個項目都是關(guān)于canvas的,做完整理一下,方便下一次使用,在vue里寫的小demo,功能:畫扇形 動態(tài)畫圓弧(requestAnima...

    airborne007 評論0 收藏0
  • H5--canvas實現(xiàn)粒子時鐘

    我們先看看粒子時鐘的效果,如下:showImg(https://segmentfault.com/img/remote/1460000016290266);下面我們將通過canvas和js實現(xiàn),首先要創(chuàng)建一個html文件并添加一個canvas畫布,如下: Document .container{ margin: 0, aut...

    avwu 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<