Vueはカウントダウン機能を実装する

Vueはカウントダウン機能を実装する

この記事の例では、カウントダウン機能を実装するためのVueの具体的なコードを参考までに共有しています。具体的な内容は次のとおりです。

親コンポーネントから渡された終了時刻から現在の日付を減算して残り時間を取得します。

1. サブコンポーネント部分

<div class="itemend">
 <p class="itemss">カウントダウン<span>{{day}}</span>日<span>{{hour}}</span>時間<span>{{minute}}</span>分<span>{{second}}</span>秒</p>
</div>

コード:

データ() {
 戻る {
 日: "", //日 時間: "", //時間 分: "", //分 秒: "", //秒フラグ: false,
 };
 },
 マウント() {
 time = setInterval(() => { を設定します。
 if (this.flag == true) {
 クリア間隔(時間);
 }
 this.timeDown();
 }, 500);
 },
 小道具: {
 終了時間: {
 タイプ: 文字列、
 },
 },
 メソッド: {
 タイムダウン() {
 定数 endTime = 新しい Date(this.endTime);
 datetime は date 要素の後に続く date 要素です。
 leftTime = parseInt((endTime.getTime() - nowTime.getTime()) / 1000); とします。
 d = parseInt(leftTime / (24 * 60 * 60))とします。
 h = this.formate(parseInt((leftTime / (60 * 60)) % 24)); とします。
 m = this.formate(parseInt((leftTime / 60) % 60)); とします。
 s = this.formate(parseInt(leftTime % 60)); とします。
 左時間 <= 0 の場合
 this.flag = true;
 this.$emit("time-end");
 }
 this.day = d; //日 this.hour = h; //時間 this.minute = m; //分 this.second = s; //秒},
 フォーマット(時間) {
 (時間 >= 10) の場合 {
 返却時間;
 } それ以外 {
 `0${time}` を返します。
 }
 },
}

2. 親コンポーネントの参照

<テンプレート>
 <div>
 <Times :endTime='timeEnd'></Times>
 </div> 
</テンプレート>

Times を "@/components/time" からインポートします。
エクスポートデフォルト{
 名前: "ホーム",
 データ() {
 戻る {
 timeEnd: "2021-3-30 9:50" //終了時間(Appleの携帯電話では「-」を解析できないため、形式を2021/3/30に変更できます)
 },
 
 コンポーネント:
 タイムズ、
 },
};

カウントダウンに関するその他の記事については、特別トピック「カウントダウン機能」をご覧ください。

JavaScript クロックエフェクトの詳細については、こちらをクリックしてください: JavaScript クロックエフェクトの特別トピック

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

以下もご興味があるかもしれません:
  • Vueはシンプルなカウントダウンボタン関数を記述します
  • Vue検証コードの60秒カウントダウン機能の簡単な実装
  • Vue2.0 カウントダウン プラグイン (タイムスタンプの更新ジャンプは影響を受けません)
  • Vue ベースの SMS 検証コード カウントダウン デモ
  • Vueは検証コードボタンのカウントダウン機能を実装します
  • Vue での複数のカウントダウン実装コード例
  • Vueはショッピングモールのフラッシュセールのカウントダウン機能を実装します
  • Vue は検証コードの効果を得るためにカウントダウンを実装します
  • Vue でのカウントダウン コンポーネントの設計の詳細な説明
  • Vue 検証コード 60 秒カウントダウン機能 簡単なサンプルコード

<<:  Linux での MySQL データベースのアンインストール

>>:  組み込み Linux で QT アプリケーションを再起動する簡単な方法 (QT4.8 qws ベース)

推薦する

泡の小さな鋭角効果を実現するCSS

効果画像(境界線の色が薄すぎるので、{} で囲みます): { }参考リンク Pure CSS バブル...

Tomcat maxPostSize設定実装プロセス分析

1. maxPostSize を設定する理由は何ですか? tomcat コンテナには送信データのサイ...

JavaScript で文字列を数値に変換する方法

目次1.parseInt(文字列、基数) 2. 数値() 3.parseFloat()主なメソッドは...

Vue コンポーネント (Vuex を含む) 間の値の転送に関する簡単な説明

目次父から息子へ:息子から父へ: Vuex を使用せずにコンポーネント間で値を渡す方法は、親から子、...

SEATAトランザクションサービスDockerのデプロイ手順の詳細説明

1. データベース認証ステートメントを作成する > データベース seata を作成します。 ...

JavaScript の setTimeout と setTimeinterval の使用例の説明

どちらの方法も、一定時間後に JavaScript コードを実行するために使用できますが、それぞれに...

Linux にソフトウェアをインストールするときにソフトウェア パッケージが存在しない問題を解決する方法

ソフトウェア パッケージが存在しない場合は、インストールされているソフトウェアのソフトウェア ソース...

Vueはechartsを使用して組織図を描画します

昨日、円形のプログレスバー (Vue 円形プログレスバーを参照してください) についてブログを書きま...

JavaScript のシングルトン デザイン パターン

目次1. デザインパターンとは何ですか? 2. デザインパターンの5つの設計原則(SOLID) 3....

Ubuntu 18.04 で apt ソースを Alibaba Cloud ソースに変更する詳細なプロセス

目次序文: Ubuntu 18.04 は apt ソースを Alibaba Cloud ソースに変更...

MySQL インデックスの一般的な問題の概要

Q1: データベースにはどのようなインデックスがありますか?メリットとデメリットは何ですか? 1. ...

MySQL 作成ルーチン権限に関する注意事項

1. ユーザーにルーチン作成権限がある場合は、プロシージャ | 関数を作成できます。 2. ユーザー...

Docker Compose ワンクリック ELK デプロイ方式の実装

インストールFilebeat は、より軽量でより安全なため、Logstash-Forwarder に...

Vue プロジェクトにインターフェース リスニング マスクを追加する方法

1. 事業背景マスク レイヤーを使用してユーザーの異常な操作を遮断する方法は、フロントエンドでよく使...

MySQLデュアルマシンホットスタンバイと負荷分散の実装手順の詳細説明

MySQL データベースには増分バックアップ メカニズムはありませんが、マスター データベース内のす...