Vueは複数のカウントダウンを同時に設定する機能を実装しています

Vueは複数のカウントダウンを同時に設定する機能を実装しています

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

HTML は次のとおりです。

<div class="home">
    <t本文>
      <tr v-for="(item, index) in バーゲングッズ" :key="index">
        <td v-text="item.down + Djs_timeList(item.countDown)"></td>
      </tr>
    </tbody>
</div>

js は次のとおりです。

エクスポートデフォルト{
  データ() {
    戻る {
      お買い得商品: [],
      合計: 0,
      ページ: 1,
      サーバー時間: 0,
      タイマー: ""
      // ホストUrl: this.$hostUrl
    };
  },
  //データの初期化に使用 created: function() {
    // データを取得する this.goods();
    // サーバー時間を取得します this.findServiceTime();
  },
  メソッド: {
    商品: 関数() {
      var _this = これ;
      _this.$axios({
        url: "goods/pageGoods",
        データ: {
          現在: -1,
          アクティビティステータス: "",
          制限: -1、
          ステータス: 「セール」
        },
        成功: 応答 => {
          _this.bargainGoods = レスポンス.items;
          _this.Djs_time();//タイマーを呼び出す//以下は、ページ表示に使用される、私が返したバックグラウンドデータの開始時間と終了時間です。if (_this.bargainGoods.length != 0) {
            (var key in _this.bargainGoods) {
              var 時間 = 0;
              var 開始時刻 = 0;
              _this.bargainGoods[キー] != null の場合 {
                _this.bargainGoods[キー].countDown = "";
                _this.bargainGoods[キー].down = "";

                // 終了時間 hour = _this.bargainGoods[key].overTime;
                開始時刻 = _this.bargainGoods[キー].activityStartTime;
                hour = hour.replace(/-/g, "/");
                hour = 新しい Date(hour).getTime();
                startime = startime.replace(/-/g, "/");
                スタータイム = 新しい日付(スタータイム).getTime();
                // 終了時刻が現在の時刻より大きい場合 if (hour > _this.serverTime && startime < _this.serverTime) {
                  var hourtime = hour - _this.serverTime;
                  if (時間 > 0) {
                    _this.bargainGoods[key].down = "カウントダウン終了:";
                    _this.bargainGoods[キー].countDown =
                      _this.bargainGoods[キー].overTime;
                  }
                } そうでない場合 (starttime > _this.serverTime) {
                  var starhourtime = startime - _this.serverTime;
                  スターアワータイム > 0 の場合
                    _this.bargainGoods[key].down = "カウントダウンを開始:";
                    _this.bargainGoods[キー].countDown =
                      _this.bargainGoods[キー].activityStartTime;
                  }
                } それ以外 {
                  _this.bargainGoods[key].down = "終了しました";
                  _this.bargainGoods[キー].countDown = "";
                }
                // console.log(_this.bargainGoods);
              }
            }
            _this.bargainGoods = _this.bargainGoods;
          }
        }
      });
    },
    // サーバー時間を取得する findServiceTime() {
      var _this = これ;
      _this.$axios({
        url: "serverTime/getDateTime",
        成功: function(res) {
          _this.serverTime = res.item;
        }
      });
    },

    Djs_time: 関数() {
      this.timer = setInterval(() => {
        this.serverTime = this.serverTime + 1000;
      }, 1000);
    },

    Djs_timeList: 関数(itemEnd) {
      // ここでの itemEnd の日付は年、月、日、時、分、秒です。 var endItem = new Date(itemEnd).getTime(); // リストに渡された期限を取得し、タイムスタンプに変換します。 var nowItem = this.serverTime; // 現在の時刻を取得します。 var rightTime = endItem - nowItem; // 期限から現在の時刻を引いた値 if (rightTime > 0) {
        // 残りのカウントダウン時間を判断します。0 より大きい場合はカウントダウンを実行し、そうでない場合は終了します。var dd = Math.floor(rightTime / 1000 / 60 / 60 / 24);
        var hh = Math.floor((rightTime / 1000 / 60 / 60) % 24);
        var mm = Math.floor((rightTime / 1000 / 60) % 60);
        var ss = Math.floor((rightTime / 1000) % 60);
        var showTime = dd + "日" + hh + "時間" + mm + "分" + ss + "秒";
      } それ以外 {
        var showTime = "";
      }
      showTime を返します。
    },

  },
    //ページを離れた後にタイマーをクリアするdestroyed() {
    タイマー間隔をクリアします。
  }
};

効果は以下のとおりです。

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

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

<<:  docker を使用して Django テクノロジー スタック プロジェクトをデプロイする方法

>>:  mysql5.7.20 での最初のログイン失敗に対する簡単な解決策

推薦する

gorm で MySql データベースを操作する方法

1. テーブル内のフィールドの大文字と小文字の区別を設定するgorm クエリを使用する場合、MySQ...

Linux での Tomcat8 のインストールとアンインストールに関する詳細なグラフィック チュートリアル

[ Tomcat8 の Linux インストール ] Tomcat をアンインストールする - まず...

Linux 上の LAN 内のすべてのホスト名 (コンピュータ名) をすばやく一覧表示するスクリプト

最近、LAN 内のすべてのホスト名を一覧表示する必要があります (SMB プロトコル)。しかし、fi...

ウェブページレイアウトデザインのシンプルな原則

この記事では、Web ページ レイアウト デザインのいくつかの簡単な原則をまとめ、Web ページ デ...

HTMLページ作成に関する私の経験の簡単な要約

Word of Mouth に入社して 3 ~ 4 か月が経ちました。仕事の中で一番の収穫は、ビジュ...

Vue の 2 択タブバー切り替えの新しいアプローチ

問題の説明プロジェクトに取り組んでいるときに、タブ バーの切り替え効果を作成する必要がある場合があり...

CSS テキスト装飾 text-decoration と text-emphasis の詳細な説明

CSS では、テキストは私たちが毎日扱う最も一般的なものの 1 つです。テキストの場合、テキストの装...

Vue カプセル化 TabBar コンポーネントの完全なステップ記録

目次実装のアイデア:ステップ 1: TabBar と TabBarItem のコンポーネント カプセ...

Ubuntu 18.0.4 は mysql をインストールし、エラー 1698 (28000): ユーザー ''root''@''localhost'' のアクセスが拒否されましたを解決します

序文最近 Linux を学び、その後 Win から Ubuntu に変更しました。以前インストールし...

HTML テーブル マークアップ チュートリアル (30): セルの暗い境界線の色属性 BORDERCOLORDARK

セルでは、暗い境界線の色を個別に定義できます。基本的な構文<TD ボーダーコロダーク=colo...

MySQLインデックスに関する重要な面接の質問をいくつか共有します

序文インデックスは、データベース内の 1 つ以上の列の値を並べ替え、データベースが効率的にデータを取...

CentOS7におけるKVM仮想化の基本管理の詳しい説明

1. kvm仮想化をインストールする : : : : : : : : : : : : : : : :...

MySQLテーブルのフィールドと関連属性をエクスポートする手順

データベース内のテーブルのフィールドとプロパティをエクスポートし、テーブルを作成してWordに保存す...

JavaScript でシンプルな Web 時計を実装する

JavaScript を使用して Web ページ クロックを実装します。効果は次の図に示されています...

Dockerコンテナ監視とログ管理の実装プロセス分析

Docker の導入規模が大きくなると、コンテナを監視する必要があります。一般的に、Docker に...