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

React Native JSI implementiert Beispielcode für RN und native Kommunikation

Inhaltsverzeichnis Was ist JSI Was ist anders an ...

HTML-Tutorial, leicht zu erlernende HTML-Sprache

1. <body background=Bilddateiname bgcolor=Farb...

10 zu wenig genutzte oder missverstandene HTML-Tags

Hier sind 10 HTML-Tags, die zu wenig verwendet od...

Mysql teilt Zeichenfolge durch gespeicherte Prozedur in Array auf

Um einen String in ein Array aufzuteilen, müssen ...

Schritte zum Installieren einer RocketMQ-Instanz unter Linux

1. JDK installieren 1.1 Überprüfen Sie, ob die ak...

Detaillierte Erklärung, wie Sie alle untergeordneten Elemente mit CSS auswählen

Wie wähle ich mit CSS rekursiv alle untergeordnet...

MySQL 5.6-Binärinstallationsprozess unter Linux

1.1 Download des binären Installationspakets wget...

JavaScript-Lösung für die Setinterval-Verzögerung um eine Sekunde

Bei Verwendung von setinterval wird festgestellt,...