亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JS+Canvas如何繪制動態時鐘效果

發布時間:2021-05-19 10:42:11 來源:億速云 閱讀:197 作者:小新 欄目:web開發

這篇文章主要介紹了JS+Canvas如何繪制動態時鐘效果,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

具體內容如下

<!DOCTYPE html> 
<html> 
 <head> 
 <meta charset="utf-8" /> 
 <title></title> 
 <style> 
  #mycanvas{ 
  position: absolute; 
  left:50%; 
  margin-left:-250px; 
  border:5px solid #fff; 
  box-shadow: 0 0 10px rgba(0,0,0,0.2); 
  background-color: rgb(58, 179, 255); 
  } 
 </style> 
 </head> 
 <body> 
 <!-- 
  canvas:html5新增的畫布對象,可以在其中繪制任何的圖形,以及線條效果,包括圖片 
  注意canvas的尺寸應該通過元素的屬性直接設置,而不是使用樣式實現(失幀) 
 --> 
 <canvas id="mycanvas" width="500px" height="500px">您的瀏覽器太low了,請切換</canvas> 
 <script> 
  //獲取畫布對象 
  var mycanvas = document.getElementById('mycanvas'); 
  //獲取一個2d繪圖環境(拿到一支畫筆) 
  var ctx = mycanvas.getContext('2d'); 
  
 function draw(){ 
 
  //獲取系統時間 
  var nowTime = new Date(); 
  var hours = nowTime.getHours();//獲取時 
  var minutes = nowTime.getMinutes();//獲取分 
  var seconds = nowTime.getSeconds();//獲取秒 
  
  //防止小時超過12 
  hours = hours > 12 ? hours-12 : hours; 
  //精準設置小時值 
  hours = hours + minutes/60; 
 
  //清除畫布(防止覆蓋) 
  ctx.clearRect(0,0,500,500); 
 
  //初始化畫筆的樣式 
  ctx.lineWidth = 5; //設置線條的寬度 
  ctx.strokeStyle = '#fff'; //設置線條顏色 
  
  ctx.beginPath();//開始新的繪圖路徑 
  //設置一個圓形路徑 
  ctx.arc(250,250,150,0,360,false); 
  //繪制圖形 
  ctx.stroke(); 
  ctx.closePath();//結束當前繪圖路徑 
  
  //繪制刻度(時刻度) 
  for(var i = 0;i < 12;i++){ 
  ctx.beginPath(); 
  ctx.lineWidth = 10; 
  //保存當前繪圖環境 
  ctx.save(); 
  //重置繪制起始位置(將圓心位置重置為0,0) 
  ctx.translate(250,250); 
  //旋轉畫布到一定的弧度 弧度=角度*PI/180 
  ctx.rotate(i * 30 * Math.PI / 180); 
  //設置繪制線條的起始位置 
  ctx.moveTo(0,140); 
  //設置線條的結束位置 
  ctx.lineTo(0,150); 
  //繪制路徑 
  ctx.stroke(); 
  //還原初始的繪圖環境 
  ctx.restore(); 
  ctx.closePath(); 
  } 
  
  //繪制刻度(分刻度) 
  for(var i = 0;i < 60;i++){ 
  ctx.beginPath(); 
  ctx.lineWidth = 3; 
  //保存當前繪圖環境 
  ctx.save(); 
  //重置繪制起始位置(將圓心位置重置為0,0) 
  ctx.translate(250,250); 
  //旋轉畫布到一定的弧度 弧度=角度*PI/180 
  ctx.rotate(i * 6 * Math.PI / 180); 
  //設置繪制線條的起始位置 
  ctx.moveTo(0,142); 
  //設置線條的結束位置 
  ctx.lineTo(0,146); 
  //繪制路徑 
  ctx.stroke(); 
  //還原初始的繪圖環境 
  ctx.restore(); 
  ctx.closePath(); 
  } 
  
  /*繪制時針*/ 
  ctx.beginPath(); 
  ctx.lineWidth = 5; 
  //保存當前繪圖環境 
  ctx.save(); 
  //重置繪制起始位置(將圓心位置重置為0,0) 
  ctx.translate(250,250); 
  //旋轉畫布到一定的弧度 弧度=角度*PI/180 
  ctx.rotate(hours * 30 * Math.PI / 180); 
  //設置繪制線條的起始位置 
  ctx.moveTo(0,10); 
  //設置線條的結束位置 
  ctx.lineTo(0,-100); 
  //繪制路徑 
  ctx.stroke(); 
  //還原初始的繪圖環境 
  ctx.restore(); 
  ctx.closePath(); 
  
  /*繪制分針*/ 
  ctx.beginPath(); 
  ctx.lineWidth = 3; 
  //保存當前繪圖環境 
  ctx.save(); 
  //重置繪制起始位置(將圓心位置重置為0,0) 
  ctx.translate(250,250); 
  //旋轉畫布到一定的弧度 弧度=角度*PI/180 
  ctx.rotate(minutes * 6 * Math.PI / 180); 
  //設置繪制線條的起始位置 
  ctx.moveTo(0,10); 
  //設置線條的結束位置 
  ctx.lineTo(0,-120); 
  //繪制路徑 
  ctx.stroke(); 
  //還原初始的繪圖環境 
  ctx.restore(); 
  ctx.closePath(); 
  
  
  /*繪制秒針*/ 
  ctx.beginPath(); 
  ctx.lineWidth = 1; 
  ctx.strokeStyle = '#f00'; 
  //保存當前繪圖環境 
  ctx.save(); 
  //重置繪制起始位置(將圓心位置重置為0,0) 
  ctx.translate(250,250); 
  //旋轉畫布到一定的弧度 弧度=角度*PI/180 
  ctx.rotate(seconds * 6 * Math.PI / 180); 
  //設置繪制線條的起始位置 
  ctx.moveTo(0,10); 
  //設置線條的結束位置 
  ctx.lineTo(0,-135); 
  //繪制路徑 
  ctx.stroke(); 
  //還原初始的繪圖環境 
  ctx.restore(); 
  ctx.closePath(); 
 } 
  
 setInterval(draw,1000); 
  
 </script> 
 </body> 
</html>

JavaScript是什么

JS是JavaScript的簡稱,它是一種直譯式的腳本語言,其解釋器被稱為JavaScript引擎,是瀏覽器的一部分,主要用于web的開發,可以給網站添加各種各樣的動態效果,讓網頁更加美觀。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“JS+Canvas如何繪制動態時鐘效果”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鄯善县| 镇巴县| 社旗县| 大方县| 秀山| 吴桥县| 汽车| 万源市| 扶沟县| 观塘区| 东乡县| 应用必备| 从江县| 普兰店市| 邻水| 新营市| 西乌珠穆沁旗| 吕梁市| 汪清县| 个旧市| 拉孜县| 白银市| 海阳市| 枝江市| 惠州市| 信阳市| 鄂托克前旗| 霍邱县| 顺平县| 三穗县| 忻城县| 松阳县| 晋中市| 峨眉山市| 屏南县| 卓资县| 田林县| 海盐县| 石柱| 凤阳县| 屯门区|