JavaScript zum Erzielen des JD.com-Blitzverkaufseffekts

JavaScript zum Erzielen des JD.com-Blitzverkaufseffekts

In diesem Artikel wird der spezifische JavaScript-Code zur Erzielung des Flash-Sale-Effekts von JD.com zu Ihrer Information bereitgestellt. Der spezifische Inhalt ist wie folgt

Erstellen Sie zunächst mit HTML und CSS das Framework:

* {
            Rand: 0;
            Polsterung: 0;
        }
        
        .Kasten {
            Breite: 190px;
            Höhe: 270px;
            Farbe: #fff;
            Textausrichtung: zentriert;
            Rand: 100px automatisch;
            Hintergrundfarbe: #d00;
            Polsterung oben: 40px;
            Box-Größe: Rahmenbox;
        }
        
        .box>h3 {
            Schriftgröße: 26px;
        }
        
        .box>p:n-ter-Typ(1) {
            Farbe: rgba(255, 255, 255, .5);
            Rand oben: 5px;
        }
        
        .box>i {
            Anzeige: Inline-Block;
            Rand oben: 5px;
            Rand unten: 5px;
            Schriftgröße: 40px;
        }
        
        .box>.zeit {
            Anzeige: Flex;
            Inhalt ausrichten: zentriert;
            Rand oben: 10px;
        }
        
        .Zeit>div {
            Breite: 40px;
            Höhe: 40px;
            Hintergrund: #333;
            Zeilenhöhe: 40px;
            Textausrichtung: zentriert;
            Schriftstärke: 700;
            Position: relativ;
        }
        
        .time>div::vor {
            Inhalt: "";
            Anzeige: Block;
            Breite: 100 %;
            Höhe: 2px;
            Hintergrund: #d00;
            Position: absolut;
            links: 0;
            oben: 50 %;
            transformieren: verschiebeY(-50%);
        }
        
        .Zeit>.Minute {
            Rand: 0 10px;
}
<div Klasse="Box">
        <h3>Jingdong Blitzverkauf</h3>
        <p>Blitzangebote</p>
        <i class="iconfont icon-lightningbshandian"></i>
        <p>Es sind noch 10 Minuten in diesem Spiel</p>
        <div Klasse="Zeit">
            <div class="Stunde">00</div>
            <div class="Minute">00</div>
            <div Klasse="Zweite">00</div>
        </div>
 </div> 

Lassen Sie uns den logischen Teil entwerfen:

Verwandte Elemente abrufen

Definieren Sie eine Funktion zur Verarbeitung der Differenz zwischen zwei Zeiten. Beachten Sie, dass, wenn die Stunden, Minuten und Sekunden kleiner als 10 sind, „0“ vorangestellt werden sollte, um Platz zu belegen. Geben Sie es abschließend in Form eines Objekts zurück.

Um einen dynamischen Effekt zu erzielen, können wir mit setInterval() alle erfassten Stunden, Minuten und Sekunden eintragen, so dass sich diese jede Sekunde ändern.

Damit Benutzer den Effekt sofort sehen können, wenn sie es öffnen, können wir die erfassten Stunden, Minuten und Sekunden in eine Funktion kapseln und die Funktion direkt in und außerhalb von setInterval() aufrufen, um Folgendes zu erreichen:

//1. Holen Sie sich das zu bearbeitende Element const oHour = document.querySelector(".hour");
const oMinute = document.querySelector(".minute");
const oSecond = document.querySelector(".second");
 
//2. Verarbeitungszeitdifferenz const remDate = new Date("2021-10-28 23:59:59");
 
        setzeZeit(remDate);
 
        //Starte den Timer setInterval(function() {
            setzeZeit(remDate);
        }, 1000);
 
        //Damit Benutzer den Effekt gleich beim Betreten sehen können, statt erst drei 00er
        // Wir können es kapseln function setTime(remDate) {
            const obj = getDifferTime(remDate);
            // konsole.log(obj);
 
            //3. Setze die Differenz zum Element oHour.innerText = obj.hour;
            oMinute.innerText = obj.minute;
            oSecond.innerText = obj.Sekunde;
        }
 
        Funktion getDifferTime(remDate, curDate = neues Datum()) {
            //1. Ermitteln Sie die Differenz zwischen zwei Zeiten (Millisekunden).
            const differentTime = remDate - aktuellesDatum;
 
            //2. Ermitteln Sie die Differenz zwischen zwei Zeiten (Sekunden)
            const differentSecond = differentTime / 1000;
 
            //3. Verwenden Sie die Gesamtzahl der Sekunden der Differenz / die Anzahl der Sekunden jedes Tages = die Anzahl der Tage der Differenz let day = Math.floor(differSecond / (60 * 60 * 24));
            Tag = Tag >= 10? Tag: "0" + Tag;
 
            //4. Nutze die Gesamtzahl der Sekunden/Stunden % 24
            lass Stunde = Math.floor(differSecond / (60 * 60) % 24);
            Stunde = Stunde >= 10? Stunde: "0" + Stunde;
 
            //5. Verwenden Sie die Gesamtzahl der Sekunden/Minuten der Differenz % 60
            lass minute = Math.floor(differSecond / 60 % 60);
            Minute = Minute >= 10? Minute: "0" + Minute;
 
            // 6. Verwenden Sie die Gesamtzahl der Sekunden der Differenz % Sekunden let second = Math.floor(differSecond % 60);
            Sekunde = Sekunde >= 10? Sekunde: "0" + Sekunde;
 
            zurückkehren {
                Tag: Tag,
                Stunde: Stunde,
                Minute: Minute,
                zweite: zweite,
            }
        } 

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:
  • JavaScript imitiert den Flash-Sale-Countdown von JD.com
  • js realisiert die Countdown-Funktion des Flash-Sales von JD.com
  • JS-Skript zum automatischen Durchklicken auf Webseiten
  • Javascript implementiert den Countdown für Produkt-Blitzverkäufe (Zeit wird mit der Serverzeit synchronisiert)
  • So verwenden Sie JS-Skript, um die automatische Flash-Sale-Funktion auf Webseiten zu realisieren
  • Beispiel für die Verwendung von PHP+JS zur Implementierung des Countdown-Timers für Produkt-Flash-Verkäufe
  • JS implementiert die Countdown-Funktion des Flash-Sales des Einkaufszentrums (dynamische Einstellung der Flash-Sale-Zeit)
  • JS implementiert den Countdown-Effekt des zweiten Kills

<<:  Zen Coding Einfaches und schnelles HTML-Schreiben

>>:  Bereitstellung eines MySQL-Hochverfügbarkeitsclusters und Implementierung eines Failovers

Artikel empfehlen

Lösung für MySQL-Fehler beim Ändern des SQL-Modus

Inhaltsverzeichnis Ein Mord verursacht durch ERR ...

Einführung in die drei wesentlichen Protokolle für MySQL-Datenbankinterviews

Inhaltsverzeichnis 1. Redo-Log (Transaktionsproto...

Details zur Verwendung von JS-Array-Methoden some, every und find

Inhaltsverzeichnis 1. einige 2. jedes 3. finden 1...

Gutes Website-Copywriting und gute Benutzererfahrung

Das Betrachten einer Website ist eigentlich wie di...

Eine detaillierte Erklärung, wie React Fiber funktioniert

Inhaltsverzeichnis Was ist React Fiber? Warum Rea...

Detaillierte Beispiele für Docker-Compose-Netzwerke

Ich habe heute mit den Netzwerkeinstellungen unte...

Analyse der Probleme und Lösungen beim Importieren großer Datenmengen in MySQL

Im Projekt stoßen wir häufig auf das Problem, gro...

Details zur Destrukturierungszuweisung in Javascript

Inhaltsverzeichnis 1. Array-Dekonstruktion 2. Obj...

Detaillierte Erklärung des TARGET-Attributs des HTML-Hyperlink-Tags A

Das Hyperlink-Tag <a> stellt einen Linkpunkt...

Beispiel für Auslassungspunkte bei Überlauf von mehrzeiligem CSS-Text

Auslassungspunkte werden angezeigt, wenn mehrzeil...

Tutorial zur manuellen Installation und Konfiguration von mysql8.0.11 winx64

Lassen Sie mich zunächst über meinen Alltag sprec...

React tsx generiert einen zufälligen Bestätigungscode

React tsx generiert einen zufälligen Bestätigungs...

Detaillierte Erläuterung der Redis-Master-Slave-Replikationspraxis mit Docker

Inhaltsverzeichnis 1. Hintergrund 2. Bedienungssc...