Vue implementiert das gleichzeitige Einstellen mehrerer Countdowns

Vue implementiert das gleichzeitige Einstellen mehrerer Countdowns

In diesem Artikelbeispiel wird der spezifische Code von Vue zum gleichzeitigen Einstellen mehrerer Countdowns zu Ihrer Information geteilt. Der spezifische Inhalt ist wie folgt

Der HTML-Code lautet wie folgt:

<div Klasse="Startseite">
    <tbody>
      <tr v-for="(Artikel, Index) in Schnäppchenwaren" :key="index">
        <td v-text="item.down + Djs_timeList(item.countDown)"></td>
      </tr>
    </tbody>
</div>

js lautet wie folgt:

Standard exportieren {
  Daten() {
    zurückkehren {
      SchnäppchenWare: [],
      gesamt: 0,
      Seite: 1,
      Serverzeit: 0,
      Timer: ""
      // Host-URL: diese.$Host-URL
    };
  },
  //Wird für die Dateninitialisierung verwendet erstellt: function() {
    // Daten abrufen this.goods();
    // Serverzeit abrufen this.findServiceTime();
  },
  Methoden: {
    Waren: Funktion() {
      var _this = dies;
      _diese.$axios({
        URL: "Waren/SeiteWaren",
        Daten: {
          aktuell: -1,
          Aktivitätsstatus: "",
          Grenze: -1,
          Status: "SALE"
        },
        Erfolg: Antwort => {
          _this.bargainGoods = Antwort.Artikel;
          _this.Djs_time();//Timer aufrufen// Nachfolgend die Start- und Endzeit der von mir zurückgegebenen Hintergrunddaten, welche für die Seitenanzeige verwendet werden if (_this.bargainGoods.length != 0) {
            für (var key in _this.bargainGoods) {
              var Stunde = 0;
              var Startzeit = 0;
              wenn (_this.bargainGoods[key] != null) {
                _this.bargainGoods[key].countDown = "";
                _this.bargainGoods[key].down = "";

                // Endzeit Stunde = _this.bargainGoods[key].overTime;
                Startzeit = _this.bargainGoods[Schlüssel].activityStartTime;
                Stunde = Stunde.ersetzen(/-/g, "/");
                Stunde = neues Datum(Stunde).getTime();
                Startzeit = Startzeit.replace(/-/g, "/");
                Startzeit = neues Datum (Startzeit).getTime();
                // Wenn die Endzeit nach der aktuellen Zeit liegt, if (hour > _this.serverTime && starttime < _this.serverTime) {
                  var Stundenzeit = Stunde - _this.serverTime;
                  if (Stundezeit > 0) {
                    _this.bargainGoods[key].down = "Countdown beenden:";
                    _this.bargainGoods[Schlüssel].countDown =
                      _this.bargainGoods[Schlüssel].overTime;
                  }
                } sonst wenn (Startzeit > _diese.Serverzeit) {
                  var starhourtime = starttime - _this.serverTime;
                  wenn (Sternstundenzeit > 0) {
                    _this.bargainGoods[key].down = "Countdown starten:";
                    _this.bargainGoods[Schlüssel].countDown =
                      _this.bargainGoods[Schlüssel].activityStartTime;
                  }
                } anders {
                  _this.bargainGoods[key].down = "Beendet";
                  _this.bargainGoods[key].countDown = "";
                }
                // console.log(_this.bargainGoods);
              }
            }
            _this.bargainGoods = _this.bargainGoods;
          }
        }
      });
    },
    // Serverzeit abfragen findServiceTime() {
      var _this = dies;
      _diese.$axios({
        URL: "Serverzeit/getDateTime",
        Erfolg: Funktion (Res) {
          _this.serverTime = res.item;
        }
      });
    },

    Djs_time: Funktion() {
      dieser.timer = setzeInterval(() => {
        diese.Serverzeit = diese.Serverzeit + 1000;
      }, 1000);
    },

    Djs_timeList: Funktion(itemEnd) {
      // Das Datum von itemEnd besteht hier aus Jahr, Monat, Tag, Stunde, Minute und Sekunde var endItem = new Date(itemEnd).getTime(); //Die in der Liste überschrittene Frist abrufen und in einen Zeitstempel umwandeln var nowItem = this.serverTime; //Die aktuelle Uhrzeit abrufen var rightTime = endItem - nowItem; //Frist minus aktuelle Uhrzeit if (rightTime > 0) {
        // Beurteile die verbleibende Countdown-Zeit. Wenn sie größer als 0 ist, führe den Countdown aus, andernfalls beende ihn. var dd = Math.floor(rightTime / 1000 / 60 / 60 / 24);
        var hh = Math.floor((rechteZeit / 1000 / 60 / 60) % 24);
        var mm = Math.floor((rechteZeit / 1000 / 60) % 60);
        var ss = Math.floor((rechteZeit / 1000) % 60);
        var showTime = dd + "Tag" + hh + "Stunde" + mm + "Minute" + ss + "Sekunde";
      } anders {
        var showTime = "";
      }
      gib ShowTime zurück;
    },

  },
    //Lösche den Timer, nachdem die Seite zerstört wurde() {
    : ClearInterval(dieser.Timer);
  }
};

Die Wirkung ist wie folgt:

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Vue schreibt eine einfache Countdown-Button-Funktion
  • Einfache Implementierung der 60-Sekunden-Countdown-Funktion des Vue-Verifizierungscodes
  • Vue2.0-Countdown-Plugin (Zeitstempel-Aktualisierungssprung ist nicht betroffen)
  • SMS-Bestätigungscode-Countdown-Demo basierend auf Vue
  • Vue implementiert die Countdown-Funktion der Bestätigungscode-Schaltfläche
  • Mehrere Codebeispiele zur Countdown-Implementierung in Vue
  • Vue implementiert die Countdown-Funktion des Mall-Flash-Sales
  • Vue implementiert einen Countdown, um den Bestätigungscode-Effekt zu erzielen
  • Detaillierte Erklärung zum Entwerfen einer Countdown-Komponente in Vue
  • Vue+Canvas realisiert ein Countdown-Plugin mit coolen Uhreffekten (ein Vue2-Plugin, das auf npm veröffentlicht wurde und sofort verwendet werden kann)

<<:  So verwenden Sie Docker zum Bereitstellen eines Django-Technologie-Stack-Projekts

>>:  Eine schnelle Lösung für den ersten Anmeldefehler in mysql5.7.20

Artikel empfehlen

Analyse gängiger Anwendungsbeispiele von MySQL-Prozessfunktionen

Dieser Artikel veranschaulicht anhand von Beispie...

So legen Sie die UTF-8-Kodierung in einer MySQL-Datenbank fest

Ändern Sie die Datei /etc/my.cnf oder /etc/mysql/...

HTML-Optimierungstechniken, die Sie kennen müssen

Um die Leistung von Webseiten zu verbessern, begi...

Zwei Möglichkeiten zum Erstellen von SSH-Server-Aliasen in Linux

Vorwort Wenn Sie häufig über SSH auf viele versch...

Implementierungsfallcodeanalyse für dynamische und statische Trennung von Nginx

Trennung von statischer und dynamischer Dynamisch...

Eine vollständige Anleitung zum Löschen von Floats in CSS (Zusammenfassung)

1. Übergeordnetes Div definiert Pseudoklassen: af...

Grundlegendes zur CSS-Eigenschaft „transform-origin“

Vorwort Ich habe vor kurzem eine Feuerwerksanimat...

Einige Parameterbeschreibungen von Texteingabefeldern im Webdesign

<br />In Gästebüchern, Foren und anderen Ort...

Detaillierte Erläuterung des MySQL-Isolationsebenen-Operationsprozesses (cmd)

Beispielvorgang für nicht festgeschriebenes Lesen...

Einfache Implementierungsmethode der Vue3-Quellcodeanalyse

Inhaltsverzeichnis Vorwort 🍹Vorbereitung 🍲vue3-Nu...

Unterschied zwischen src- und href-Attributen

Es besteht ein Unterschied zwischen src und href ...

jQuery Canvas zeichnet Bildüberprüfungscodebeispiel

In diesem Artikelbeispiel wird der spezifische Co...