この記事の例では、複数のカウントダウンを同時に設定するための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 を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: docker を使用して Django テクノロジー スタック プロジェクトをデプロイする方法
>>: mysql5.7.20 での最初のログイン失敗に対する簡単な解決策
1. テーブル内のフィールドの大文字と小文字の区別を設定するgorm クエリを使用する場合、MySQ...
[ Tomcat8 の Linux インストール ] Tomcat をアンインストールする - まず...
最近、LAN 内のすべてのホスト名を一覧表示する必要があります (SMB プロトコル)。しかし、fi...
この記事では、Web ページ レイアウト デザインのいくつかの簡単な原則をまとめ、Web ページ デ...
Word of Mouth に入社して 3 ~ 4 か月が経ちました。仕事の中で一番の収穫は、ビジュ...
問題の説明プロジェクトに取り組んでいるときに、タブ バーの切り替え効果を作成する必要がある場合があり...
CSS では、テキストは私たちが毎日扱う最も一般的なものの 1 つです。テキストの場合、テキストの装...
目次実装のアイデア:ステップ 1: TabBar と TabBarItem のコンポーネント カプセ...
序文最近 Linux を学び、その後 Win から Ubuntu に変更しました。以前インストールし...
セルでは、暗い境界線の色を個別に定義できます。基本的な構文<TD ボーダーコロダーク=colo...
序文インデックスは、データベース内の 1 つ以上の列の値を並べ替え、データベースが効率的にデータを取...
1. kvm仮想化をインストールする : : : : : : : : : : : : : : : :...
データベース内のテーブルのフィールドとプロパティをエクスポートし、テーブルを作成してWordに保存す...
JavaScript を使用して Web ページ クロックを実装します。効果は次の図に示されています...
Docker の導入規模が大きくなると、コンテナを監視する必要があります。一般的に、Docker に...