ホームページ >ウェブフロントエンド >H5 チュートリアル >純粋な HTML5_html5 チュートリアルのスキルを使用して Web ページに時計を記述するためのコード共有

純粋な HTML5_html5 チュートリアルのスキルを使用して Web ページに時計を記述するためのコード共有

WBOY
WBOYオリジナル
2016-05-16 15:46:231915ブラウズ

知っておくべきこと:

canvas タグは単なるグラフィック コンテナです。グラフィックを描画するにはスクリプトを使用する必要があります。デフォルトのサイズ: 幅 300 ピクセル、高さ 150 ピクセル

getContext() メソッドは、キャンバス上に描画するためのメソッドとプロパティを提供するオブジェクトを返します。 ——コンテキストオブジェクトを取得します。
getContext("2d") オブジェクトのプロパティとメソッド。キャンバス上にテキスト、線、四角形、円などを描画するために使用できます。

fillRect(l,t,w,h): デフォルトの色は黒です stopRect(l,t,w,h): 境界線のある正方形。デフォルトの 1 ピクセルの黒い境界線

setInterval() メソッドは、指定された期間 (ミリ秒単位) に従って関数を呼び出したり、式を計算したりできます。

beginPath(): パスの描画の開始点を定義し、現在の点を (0,0) に設定します。 キャンバス環境が最初に作成されるとき、beginPath()
メソッドが明示的に呼び出されます。
closePath(): パス描画終了(始点と終点を結ぶ)


円を描く:
円弧 (x, y, 半径、開始円弧、終了円弧、回転方向)
x, y: 開始位置
円弧と角度の関係: ラジアン= 角度 *Math.PI/180
回転方向: 時計回り (デフォルト: false、反時計回り: true)

コード:

XML/HTML コードコンテンツをクリップボードにコピー
  1. >
  2. <html lang="en-米国「>
  3. <>
  4. <メタ charset="UTF- 8">
  5. <タイトル>タイトル>
  6. <スクリプト>
  7. window.onload = function(){
  8. var oC = ドキュメント.getElementById('ch1');   
  9. var oGC = oC.getContext('2d');   
  10. function drawClock(){
  11. var x = 200;   // 指定坐标
  12. var y = 200;   
  13. var r = 150;  // 指定钟表半径
  14. oGC.clearRect(0,0,oC.width,oC.height);//清空画布
  15. var oDate = new Date();      //创建日期对象
  16. var 営業時間 = 大館 .Gethours (); 変数 🎜>
  17. 変数 🎜> 🎜> var var
  18. osenvalue = (-90 osen*6)*math.pi/180; oGC.beginPath();// 開始
  19. for(var i=
  20. 0;i<60
  21. ;i ){ //i は 60 で、時計の 60 の小さなスケールを表します oGC.moveTo(x,y);
  22. oGC.arc(x,y,r,6*i*Math.PI/180,6*(i 1)*Math.PI/180,false); //6 度から 12 度までループします。度
  23. oGC.closePath();
  24. oGC.ストローク();
  25. oGC.beginPath(); oGC.moveTo(x,y);
  26. oGC.arc(x,y,r*19/20,0,360*(i 1)*Math.PI/180,false);
  27. oGC.closePath();//終了
  28. oGC.fill();
  29. 🎜>
  30. 's s s s s - to gc.be''s-'s t ----- ogc.beginpath();
  31. for(
  32. i=0;i<
  33. 12
  34. ;i ){ //i は 12 で、クロック スケールの 12 グリッドを表します
  35. oGC.moveTo(x,y);
  36. ‐ =Angle*Math.PI/180
  37. oGC.closePath();
  38. oGC.ストローク();
  39. oGC.beginPath(); oGC.moveTo(x,y);
  40. oGC.arc(x,y,r*18/20,360*(i 1)*Math.PI/180,false);
  41. oGC.closePath();
  42. oGC.fill();//ダイヤルが完了しました
  43. <<>
  44. OGC.LineWidth
  45. =
  46. 5
  47. ;
  48. oGC.beginPath();//時針の描画を開始
  49. oGC.moveTo(x,y);
  50. oGC.arc(x,y,r*10/20,oHoursValue,oHoursValue,false);//時針のサイズとラジアンを設定します
  51. oGC.closePath();
  52. oGC.ストローク();
  53. <<>
  54. OGC.LineWidth =
  55. 3 ;
  56. oGC.beginPath();//分針の描画を開始
  57. oGC.moveTo(x,y);
  58. oGC.arc(x,y,r*14/20,oMinValue,oMinValue,false);//分針のサイズとラジアンを設定します
  59. oGC.closePath();
  60. oGC.ストローク();
  61. <<>
  62. OGC.LineWidth = 1 // 秒針の幅を設定します <🎜; > oGC.beginPath();//秒針の描画開始
  63. oGC.moveTo(x,y);
  64. oGC.arc(x,y,r*19/20,oSenValue,oSenValue,false);//秒針のサイズと円弧を設定します
  65. oGC.closePath();
  66. oGC.ストローク();
  67. setInterval(drawClock,1000);//タイマーを設定し、時計を実行させます
  68. drawClock();
  69. };
  70. スクリプト>
  71. >
  72. <ボディ>
  73. <キャンバス id = "ch1" = "400px" 高さ = "400px">キャンバス>
  74. ボディ>
  75. html>

デモを表示するには、以下の結果をクリックしてください:
http://jsfiddle.net/eh02450b/2/

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。