最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript繪制簡單鐘表效果

 更新時(shí)間:2020年04月07日 08:15:38   作者:小屠的博客  
這篇文章主要為大家詳細(xì)介紹了javascript繪制簡單鐘表效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文給大家分享一個(gè)canvas的時(shí)鐘繪制,供大家參考,具體內(nèi)容如下

復(fù)制可直接使用

<!DOCTYPE html>
<html>

 <head>
 <meta charset="UTF-8">
 <title></title>
 <style>
 h1 {
 text-align: center;
 }
 
 div {
 width: 400px;
 height: 400px;
 margin: 10px auto;
 padding: 0;
 }
 </style>
 </head>

 <body>
 <h1>手繪時(shí)鐘</h1>
 <hr />
 <div>
 <canvas id="c1" width="400px" height="400px">
 
 </canvas>
 </div>
 <script type="text/javascript">
 var clock = document.getElementById("c1").getContext("2d");
 
// var clock = $("#huabu").get(0).getContext("2d"); //$中使用畫布
 
 function play() {
 clock.clearRect(0, 0, 400, 400);
 clock.save();
 clock.translate(200, 200); //把畫布中心轉(zhuǎn)移到canvas中間
 biaopan();
 run();
 clock.restore();
 }
 setInterval(function() {
 play();
 }, 1000);

 function biaopan() {
 //繪制表盤
 clock.strokeStyle = " #9932CC";
 clock.lineWidth = 5;
 clock.beginPath();
 clock.arc(0, 0, 195, 0, 2 * Math.PI);
 clock.stroke();
 
 //刻度(小時(shí))
 clock.strokeStyle = "#9932CC";
 clock.lineWidth = 5;
 for(var i = 0; i < 12; i++) {
  clock.beginPath();
  clock.moveTo(0, -190);
  clock.lineTo(0, -170);
  clock.stroke();
  clock.rotate(2 * Math.PI / 12);
 }
 //刻度(分鐘)
 clock.strokeStyle = "#9932CC";
 clock.lineWidth = 3;
 for(var i = 0; i < 60; i++) {
  clock.beginPath();
  clock.moveTo(0, -190);
  clock.lineTo(0, -180);
  clock.stroke();
  clock.rotate(2 * Math.PI / 60);
 }
 //繪制文字
 clock.textAlign = "center";
 clock.textBaseline = "middle";
 clock.fillStyle = "#6495ED";
 clock.font = "20px 微軟雅黑"
 for(var i = 1; i < 13; i++) {
  clock.fillText(i,Math.sin(2*Math.PI /12*i)*150,Math.cos(2*Math.PI/12*i)*-150);
 }
 
 }

 function run() {
 var date = new Date();
 var h = date.getHours();
 var m = date.getMinutes();
 var s = date.getSeconds();
// if(h > 12) {
//  h = h - 12;
// }
 //日期
 var week = date.getDay();
 var month = date.getMonth() + 1;
 var day = date.getDate();
 switch (week){
  case 1: week = "星期一";
  break;
  case 2: week = "星期二";
  break;
  case 3: week = "星期三";
  break;
  case 4: week = "星期四";
  break;
  case 5: week = "星期五";
  break;
  case 6: week = "星期六";
  break;
  default: week = "星期天";
  break;
 }
 clock.save();
 clock.textAlign = "center";
 clock.textBaseline = "middle";
 clock.fillStyle = "black";
 clock.font = "16px"
 clock.fillText(week,-2,-118);
 clock.fillText(month+" 月",-90,2);
 clock.fillText(day+" 號",90,0);
 clock.stroke();
 clock.restore();

 //時(shí)針
 //分針60格 分針5格 
 clock.save();
 clock.rotate(2 * Math.PI / 12 * h + (2 * Math.PI / 60 * m + 2 * Math.PI / 60 * s / 60) / 12);
 clock.strokeStyle = "black";
 clock.lineWidth = 7;
 clock.beginPath();
 clock.moveTo(0, 0);
 clock.lineTo(0, -80);
 clock.lineCap = "round";
 clock.stroke();
 clock.restore();
 //分針
 //秒針60格 分針一格
 clock.save();
 clock.beginPath();
 clock.strokeStyle = "#D2691E";
 clock.lineWidth = 5;
 clock.rotate(2 * Math.PI / 60 * m + 2 * Math.PI / 60 * s / 60);
 clock.moveTo(0, 0);
 clock.lineTo(0, -110);
 clock.lineCap = "round";
 clock.stroke();
 clock.restore();
 //秒針
 clock.strokeStyle = "red";
 clock.rotate(2 * Math.PI / 60 * s);
 clock.lineWidth = 4;
 clock.beginPath();
 clock.moveTo(0, 0);
 clock.lineTo(0, -120);
 clock.lineCap = "round";
 clock.stroke();
 //中心
 clock.fillStyle = " #CCFFFF";
 clock.lineWidth = 5;
 clock.beginPath();
 clock.arc(0, 0, 10, 0, 2 * Math.PI);
 clock.fill();
 clock.strokeStyle = "cadetblue";
 clock.stroke();
 
 }
 </script>
 </body>

</html>

更多JavaScript時(shí)鐘特效點(diǎn)擊查看:JavaScript時(shí)鐘特效專題

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 小程序使用scroll-view實(shí)現(xiàn)一個(gè)滑動(dòng)列表功能

    小程序使用scroll-view實(shí)現(xiàn)一個(gè)滑動(dòng)列表功能

    scroll-view可實(shí)現(xiàn)一個(gè)可滾動(dòng)的視圖區(qū)域,下面這篇文章主要給大家介紹了關(guān)于小程序使用scroll-view實(shí)現(xiàn)一個(gè)滑動(dòng)列表功能的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • js實(shí)現(xiàn)分割上傳大文件

    js實(shí)現(xiàn)分割上傳大文件

    這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)分割上傳大文件的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • turn.js異步加載實(shí)現(xiàn)翻書效果

    turn.js異步加載實(shí)現(xiàn)翻書效果

    這篇文章主要為大家詳細(xì)介紹了turn.js異步加載實(shí)現(xiàn)翻書效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • artDialog+plupload實(shí)現(xiàn)多文件上傳

    artDialog+plupload實(shí)現(xiàn)多文件上傳

    這篇文章主要介紹了artDialog+plupload實(shí)現(xiàn)多文件上傳的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-07-07
  • javascript實(shí)現(xiàn)日歷控件(年月日關(guān)閉按鈕)

    javascript實(shí)現(xiàn)日歷控件(年月日關(guān)閉按鈕)

    經(jīng)常使用google的朋友一定對google絢麗的日歷控件記憶猶新吧,那我們也來實(shí)現(xiàn)一個(gè),雖然功能和效果比不上,但重要的是實(shí)現(xiàn)的過程
    2012-12-12
  • 用js編寫留言板

    用js編寫留言板

    這篇文章主要為大家詳細(xì)介紹了用js編寫留言板,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • JS實(shí)現(xiàn)Excel導(dǎo)出功能以及導(dǎo)出亂碼問題解決詳解

    JS實(shí)現(xiàn)Excel導(dǎo)出功能以及導(dǎo)出亂碼問題解決詳解

    這篇文章主要為大家詳細(xì)介紹了JavaScript如何調(diào)用后臺(tái)接口實(shí)現(xiàn)Excel導(dǎo)出功能以及導(dǎo)出亂碼問題的解決辦法,需要的小伙伴可以參考一下
    2023-07-07
  • JavaScript?Array.from及其相關(guān)用法詳解(示例演示)

    JavaScript?Array.from及其相關(guān)用法詳解(示例演示)

    Array.from方法是ES6引入的一個(gè)靜態(tài)方法,用于從類數(shù)組對象或可迭代對象創(chuàng)建一個(gè)新的數(shù)組實(shí)例,本文將詳細(xì)介紹Array.from的基本用法、實(shí)際場景中的應(yīng)用,以及它如何與其他JavaScript特性相結(jié)合提升代碼的簡潔性和可讀性,感興趣的朋友一起看看吧
    2025-03-03
  • d3.js實(shí)現(xiàn)圖形拖拽

    d3.js實(shí)現(xiàn)圖形拖拽

    這篇文章主要為大家詳細(xì)介紹了d3.js實(shí)現(xiàn)圖形拖拽,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • JavaScript獲取URL參數(shù)的四種方法總結(jié)

    JavaScript獲取URL參數(shù)的四種方法總結(jié)

    在前端開發(fā)過程中難免會(huì)遇到處理url參數(shù)的問題,這篇文章主要給大家總結(jié)介紹了關(guān)于JavaScript獲取URL參數(shù)的四種方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01

最新評論

婺源县| 涪陵区| 彰化县| 滦南县| 望城县| 和平区| 修武县| 宝丰县| 象州县| 历史| 闻喜县| 高密市| 太康县| 乌拉特中旗| 玛沁县| 象山县| 吴川市| 蓝山县| 郑州市| 宜昌市| 大同县| 桃园县| 额敏县| 靖西县| 克拉玛依市| 海淀区| 比如县| 息烽县| 永吉县| 稻城县| 余姚市| 攀枝花市| 大丰市| 闸北区| 寻甸| 广水市| 怀远县| 凤翔县| 上犹县| 清水县| 文水县|