デジタル時計効果を実現するJavaScript

デジタル時計効果を実現するJavaScript

この記事の例では、JavaScriptでデジタル時計効果を実装するための具体的なコードを参考までに共有しています。具体的な内容は次のとおりです。

まずは効果を見て、ダイナミックデジタル時計

jQueryは要素を取得するためだけに使われ、ほんの少しだけ

オブジェクト指向開発

コードを見てください

HTML、jQueryとjsを自分でインポート、jQueryを先に

<本文>
    <div class="wrapper">
        <div class="column">
            <!-- この div は 0、1、または 2 の 10 の位を表します。 -->
            <div>0</div>
            <div>1</div>
            <div>2</div>
        </div>
        <!-- 次の内容は HTML コードで記述するには冗長すぎるため、js を使用して記述します -->
        <div class="列 10"></div>
        <div class="coln">:</div>
        <div class="列 6"></div>
        <div class="列 10"></div>
        <div class="coln">:</div>
        <div class="列 6"></div>
        <div class="列 10"></div>
    </div>
</本文>

CS

*{
     マージン: 0;
     パディング: 0;
}
html,本文{
     高さ: 100%;
     幅: 100%;
     背景色: #0e141b;
    オーバーフロー: 非表示;
    /* オーバーフローを非表示に設定 */
}
.ラッパー{
    テキスト配置: 中央;
    幅: 100%;
}
.wrapper .column、
.ラッパー .coln{
    表示: インラインブロック;
    垂直方向の位置合わせ: 上;
    色: rgba(224,230,235,0.89);
    フォントサイズ: 86px;
    行の高さ: 86px;
    フォントの太さ: 300;
}
。カラム{
    遷移: すべて 300 ミリ秒のイーズイン。
}
.coln{
    /* コロンの位置 */
    変換: translateY(calc(50vh - 83px));
}
/* 以下は異なるクラス名に対応する透明度です*/
。見える{
    不透明度: 1;
}
。近い{
    不透明度: 0.25;
}
。遠い{
    不透明度: 0.15;
}
。距離{
    不透明度: 0.05;
}

JS

関数 Index(dom, use) {
    // 渡された DOM 要素を配列に変換します。this.column = Array.from(dom);
    // use をグローバル状態に転送します。これは、表示される時間システムが 112 時間か 24 時間かを決定するためです。this.use = use;
    // この配列は、後で設定されるクラス名です。 this.classList = ['visible', 'close', 'far', 'distance', 'distance', 'distance', 'distance', 'distance'];
    このメソッドは、Dom を作成します。
    this.start();//開始}
// 関数の開始 Index.prototype.start = function () {
    var self = this;
    setInterval(関数() {
        var c = self.getClock();
        // コンソールログ(c);
        self.column.forEach(関数 (ele, インデックス) {
            var n = + c[インデックス];
            var offset = n * 86; //移動距離 console.log(offset);
            $(ele).css({
                '変換': 'translateY(calc(50vh - ' + offset + 'px - 73px))'
                // 移動を設定する });
            Array.from(ele.children).forEach(function (ele2, index2) {
                var className = self.getClass(n, index2);
                // クラス名を設定する関数を呼び出します $(ele2).attr('class', className);
            })
        })
    }, 500);
};
// 距離時間が異なる要素に異なるクラス名を設定する Index.prototype.getClass = function (n, i) {
    var className = this.classList.find(function (ele, index) {
        i - インデックス === n || i + インデックス === n を返します。
    })
    クラス名を返します || "";
}
 
// 時間を取得してフォーマットします。文字列 21:06:09 ==> 210609
Index.prototype.getClock = 関数 () {
    var d = 新しい日付();
    // ここでは三項演算子を使用しています。use が true の場合は値を取得します。false の場合は、12 の余りを 12 時間制に変換します。 return [this.use ? d.getHours() : d.getHours() % 12 || 12, d.getMinutes(), d.getSeconds()].reduce(function (p, n) {
        p + ('0' + n).slice(-2) を返します。
        // ここでは 1 桁に 0 を加算します。たとえば、1 に 0 を加算すると 01 になり、12 に 0 を加算すると 012 になりますが、値の最後の 2 桁を取ると 12 になります。
    }, '')
};
// すべての HTML 要素を HTML ファイルに書き込むのは冗長すぎるため、for ループを使用して追加します。Index.prototype.creatDom = function () {
    (var i = 0; i < 6; i++) の場合 {
        var oDiv = '<div>' + i + '</div>';
        $(".6").append(oDiv);
    }
    (var i = 0; i < 10; i++) の場合 {
        var iDiv = '<div>' + i + '</div>';
        $(".ten").append(iDiv);
    }
};
 
// 2 番目のパラメータ。true の場合は 24 時間制、false の場合は 12 時間制です。new Index($('.column'), true);

js については比較的完全なコメントを書いたので、理解できるはずです。

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

以下もご興味があるかもしれません:
  • 動的なデジタル時計を実装するJavaScript
  • デジタル時計効果を実現するJavaScript
  • Vue.js は日付と週を含むデジタル時計機能の例を実装します
  • スクロールするデジタル時計効果を実現する JS+CSS
  • jsはシンプルなデジタル時計効果を実現します
  • JSを使用してカウントダウンデジタル時計効果を表示する
  • スクロール効果を実現する JavaScript デジタル時計の例
  • JS で実装された Web ページのカウントダウン デジタル時計効果
  • JavaScript デジタル時計の例の共有
  • HTML5 キャンバス js (デジタル時計) サンプルコード

<<:  MySQLでルートユーザーのパスワードを変更する方法

>>:  Linux でジャンプ サーバー経由でリモート サーバーに接続し、ファイルを転送する方法

推薦する

Vue-cliはプロジェクトを作成し、プロジェクト構造を分析します

目次1. ディレクトリを入力してプロジェクトを作成する2. 必要な設定項目を選択します2.1 Vue...

CSSのclip-pathプロパティを使用して不規則なグラフィックを表示する

clip-path CSS プロパティはクリッピングを使用して要素の表示可能領域を作成します。領域内...

MySQL ビュー管理ビューの例の詳細説明 [追加、削除、変更、クエリ操作]

この記事では、例を使用して MySQL ビューの管理ビュー操作について説明します。ご参考までに、詳細...

LinuxはRsync+Inotifyを使用してローカルとリモートのデータのリアルタイム同期を実現します。

0x0 テスト環境本社本番サーバーと支社バックアップサーバーはリモートデータバックアップが必要です...

VirtualBox仮想マシンがNATモードで外部ネットワークに接続できない問題の解決策

背景VirtualBox 仮想マシン (Ubuntu 16.04 システムがロードされている) には...

MySQL のデッドロックとデータベースおよびテーブル シャーディングの問題の詳細な説明

MySQL 運用上の問題点を記録します。ビジネスシナリオと問題の説明外部インターフェースをリクエスト...

CSSは左固定と右適応のレイアウト方法を実現します

1. フローティングレイアウト1. 最初に固定幅の div をフロートさせます。ドキュメントフローか...

MySQL 5.7.23 のインストールと設定方法のグラフィックチュートリアル

この記事では、参考として MySQL 5.7.23 のインストール チュートリアルを記録します。 1...

超シンプルな QPS 統計手法 (推奨)

過去 N 秒間の QPS 値の統計 (1 秒あたりの選択、挿入などを含む) mysql> se...

MySQLトリガーの詳細な説明と簡単な例

MySQLトリガーの簡単な例文法CREATE TRIGGER <トリガー名> -- トリ...

CocosCreatorでWeChatゲームを作成する方法

目次1. WeChatパブリックプラットフォームからWeChat開発者ツールをダウンロードする2. ...

CentOS 6.5 の設定 ssh キーフリーログインで pssh コマンドを実行する方法の説明

1. psshを確認してインストールします。yum list pssh 2. キーレスログインが設定...

Linuxのバージョン情報を復号化する方法

Linux バージョンに関する情報を表示および解釈するのは、見た目よりも少し複雑です。単純なバージョ...

Win10 での MySQL 8.0.16 のインストールと設定のチュートリアル

1. MySQL 8.0.16を解凍する次の図に示すように、解凍後にdadaフォルダとmy.ini構...

nginx での listen ディレクティブの例の分析

プロットレビュー前回の記事では、ロケーション命令の解析プロセスを分析しました。この内容を簡単に確認し...