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

Ein verbessertes Screenshot- und Freigabetool für Linux: ScreenCloud

ScreenCloud ist eine tolle kleine App, von der Si...

Zusammenfassung der MySQL-Slow-Log-Praxis

Langsame Protokollabfragefunktion Die Hauptfunkti...

Einige Dinge, die Sie über den Varchar-Typ in MySQL wissen sollten

Speicherregeln für varchar In Versionen unter 4.0...

So vermeiden Sie die URL-Zeitzonenfalle in MySQL

Vorwort Wenn Sie MySQL 6.0.x oder höher (JAR) ver...

Detaillierte Erläuterung der Verwendung des MySQL-Auswahl-Cache-Mechanismus

Der MySQL-Abfragecache ist standardmäßig aktivier...

So installieren Sie MySQL 5.7 manuell auf CentOS 7.4

MySQL-Datenbanken werden häufig verwendet, insbes...

So verwenden Sie Docker zum Bereitstellen von Front-End-Anwendungen

Docker erfreut sich immer größerer Beliebtheit. E...

Eine kurze Analyse der Verwendung von watchEffect in Vue3

Vorwort Jeder sollte mit der Watch-API in vue2 ve...

Häufig verwendete JS-Funktionsmethoden im Frontend

Inhaltsverzeichnis 1. E-Mail 2. Mobiltelefonnumme...