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

javascript繪制簡單鐘表效果

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

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

復制可直接使用

<!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>手繪時鐘</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();
 
 //刻度(小時)
 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();

 //時針
 //分針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時鐘特效點擊查看:JavaScript時鐘特效專題

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

相關(guān)文章

  • 小程序使用scroll-view實現(xiàn)一個滑動列表功能

    小程序使用scroll-view實現(xiàn)一個滑動列表功能

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

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

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

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

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

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

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

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

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

    用js編寫留言板

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

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

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

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

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

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

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

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

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

最新評論

牡丹江市| 大渡口区| 渑池县| 沙雅县| 泽普县| 英山县| 丁青县| 新余市| 博罗县| 蒙城县| 当阳市| 新乡市| 肥乡县| 公主岭市| 集安市| 巴彦淖尔市| 镇沅| 孙吴县| 教育| 红原县| 梓潼县| 依安县| 道孚县| 浮山县| 安岳县| 楚雄市| 上虞市| 雅江县| 伊金霍洛旗| 双桥区| 同仁县| 大兴区| 杭锦后旗| 郧西县| 尉氏县| 阿城市| 萝北县| 芜湖县| 永新县| 沿河| 呼伦贝尔市|