ダイナミッククロックを実現するJS+CSS

ダイナミッククロックを実現するJS+CSS

この記事の例では、動的な時計を実装するためのJS + CSSの具体的なコードを参考までに共有しています。具体的な内容は次のとおりです。

知識ポイントの要約:

document.querySelector()メソッドは、指定された CSS セレクターに一致するドキュメント内の要素を返します。

setInterval()メソッドは、指定された期間 (ミリ秒単位) で関数を呼び出したり、式を評価したりします。
setInterval() メソッドは、clearInterval() が呼び出されるかウィンドウが閉じられるまで、関数を繰り返し呼び出します。 setInterval() によって返される ID 値は、clearInterval() メソッドのパラメーターとして使用できます。

HTML+js部分

<!DOCTYPE html>
<html lang="ja">

<ヘッド>
 <メタ文字セット="UTF-8">
 <meta http-equiv="X-UA-compatible" content="IE=edge">
 <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
 <link rel="スタイルシート" href="shiying.css" >
 <title>ドキュメント</title>
</head>

<本文>
 <div class="時計">
 <div class="時間">
 <div class="hr" id="hr"></div>
 </div>
 <div class="min">
 <div class="mn" id="mn"></div>
 </div>
 <div class="sec">
 <div class="sc" id="sc"></div>
 </div>
 </div>
 <script type="text/javascript">
 定数度 = 6;
 定数hr = document.querySelector('#hr');
 定数 mn = document.querySelector('#mn');
 定数sc = document.querySelector('#sc');

 間隔を設定する(() => {

 day = new Date();
 hh = day.getHours() * 30 とします。
 mm = day.getMinutes() * deg; とします。
 ss = day.getSeconds() * deg; とします。

 hr.style.transform = `rotateZ(${(hh) + (mm / 12)}deg)`;
 mn.style.transform = `rotateZ(${mm}deg)`;
 sc.style.transform = `rotateZ(${ss}deg)`;
 })

 </スクリプト>
</本文>

</html>

CSS部分

*{
 マージン:0;
 パディング:0;
 ボックスのサイズ: 境界線ボックス;
}
体{
 ディスプレイ: フレックス;
 コンテンツの中央揃え: 中央;
 アイテムの位置を中央揃えにします。
 最小高さ: 100vh;
 背景: #091921;
}
。クロック{
 幅: 350ピクセル;
 高さ: 350ピクセル;
 ディスプレイ:フレックス;
 コンテンツの中央揃え: 中央;
 アイテムの位置を中央揃えにします。
 背景: url(1613462007944.png);
 背景サイズ: カバー;
 境界線:4px 実線 #091921;
 境界線の半径: 50%;
 ボックスシャドウ: 0 -15px 15px rgba(255,255,255,0.05),
 インセット 0 -15px 15px rgba(255,255,255, 0.05),
 0 -15px 15px rgba(0,0,0,0.05),
 インセット 0 -15px 15px rgba(0,0,0, 0.05);
}
.clock:前
{
 コンテンツ:"";
 位置: 絶対;
 幅: 15px;
 高さ: 15px;
 背景: #fff;
 境界線の半径: 50%;
 zインデックス:10000;

}
.時計 .時間、
.時計 .分、
.時計 .秒
{
 位置: 絶対;

}
.clock .hour, .hr{
 幅: 160ピクセル;
 高さ: 160px;
}
.clock .min, .mn{
 幅: 190ピクセル;
 高さ: 190ピクセル;
}
.clock .sec, .sc{
 幅: 230ピクセル;
 高さ: 230px;
}
.hr、.mn、.sc{
 ディスプレイ: フレックス;
 コンテンツの中央揃え: 中央;
 位置: 絶対;
 境界線の半径: 50%;
}
.hr:前{
 コンテンツ:"";
 位置: 絶対;
 幅: 8px;
 高さ: 80px;
 背景: #ff105e;
 zインデックス: 10;
 境界線の半径: 6px 6px 0 0;
}
.mn:前{
 コンテンツ:"";
 位置: 絶対;
 幅: 4px;
 高さ: 90px;
 背景: #fff;
 zインデックス: 11;
 境界線の半径: 6px 6px 0 0;
}
.sc:前{
 コンテンツ:"";
 位置: 絶対;
 幅: 4px;
 高さ: 150px;
 背景: #fff;
 zインデックス:12;
 境界線の半径: 6px 6px 0 0;
}

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • jsはシンプルなデジタル時計効果を実現します
  • HTML5 キャンバス js (デジタル時計) サンプルコード
  • JavaScript HTML 時計効果を簡単に実装する 5 つのステップ
  • Tik Tokのコンパス時計を実装するJavaScript
  • シンプルな時計のサンプルコードを実装するJavaScript
  • JavaScript に基づく動的な時計効果の実現
  • シンプルな時計効果の js 実装コード
  • 動的な時計効果を実現するJavascript
  • JavaScript 入門: ダイナミック クロック、完全なクロックを表示するいくつかの方法、新年までのカウントダウン
  • JS で実装された Web ページのカウントダウン デジタル時計効果

<<:  Tomcat ディレクトリ構造の詳細な紹介

>>:  MySQL 5.7.17 でパスワードを忘れた場合の対処方法

推薦する

html mailto(メール)の実用化について

ご存知のとおり、mailto は Web デザインと制作において非常に実用的な HTML タグです。...

HTML チュートリアル: よく使われる HTML タグのコレクション (6)

導入された HTML タグは、必ずしも XHTML 仕様に完全に準拠しているわけではありません。実際...

Vue でスクロールバーのスタイルを変更する方法

目次まず、スクロール バーのスタイルを変更するには、疑似要素-webkit-scrollbarを使用...

vue-element-admin プロジェクトのインポートとエクスポートの実装

vue-element-admin インポートコンポーネントのカプセル化テンプレートとスタイルまず、...

Linuxで現在のスクリプトの実際のパスを取得する方法

1. 現在のスクリプトの実際のパスを取得します。 #!/bin/bash if [[ $0 =~ ^...

MySQLとNavicatプレミアムのインストールと設定の詳細な手順

前提条件: Mac、zsh がインストールされ、bash のときに mysql がダウンロードされ、...

Nginx のタイムドログカットの詳細な説明

序文デフォルトでは、Nginx ログはファイルに書き込まれます。各ドメインのログを区別するために、通...

CSS+SVGでBステーションの課金効果を実現するサンプルコード

困難SVG グラフィックの 2 つのマスクの作成まず、コード左側のピンク色のボックスの内容ですこれに...

Linux xargsコマンドの使用

1. 機能: xargs は、stdin 内のスペースまたは改行で区切られたデータをスペースで区切ら...

デザイン理論: デザインにおける階層

<br />原文: http://andymao.com/andy/post/80.ht...

ElementUIはel-formフォームリセット機能ボタンを実装します

目次ビジネスシナリオ:効果のデモンストレーション:ビジネスシナリオ: el-form を使用する場合...

HiveメタデータをMySQLに設定するプロセス全体

Hiveのインストールディレクトリで、confディレクトリに入り、hive-site.xmlファイル...

CSS でレスポンシブ レイアウトを実装する方法

CSS でレスポンシブ レイアウトを実装するレスポンシブレイアウトは非常にハイエンドで難しいように思...

Vueフレームワークで習得しなければならない重要な知識を学びます

1. Vueとは何かVue は、ユーザー ページを構築するためのプログレッシブ フレームワークです。...

数十行のjsを使用してクールなキャンバスインタラクティブ効果を実現する方法を教えます

目次1. 円を描く2. マウスで動かした円3. マウスでドラッグした粒子4. カラーグラデーション粒...