Vorladen von Bildern auf Safari für den Wechsel des Hintergrundbildes [duplizieren]

9

Ich habe einen Hintergrund, der sich alle 12 Sekunden ändert. In Chrome, Firefox und Opera der Hintergrundänderung funktioniert gut, aber in Safari der Browser lädt das Bild immer wieder und wird durch ein Flimmern auf jedem Bildwechsel auf dem ersten Zyklus bemerkt. Irgendwelche Ideen, wie ich dieses Problem lösen kann.

So behandle ich die Hintergrundänderung:

%Vor%

Die CSS-Klassen:

%Vor%     
MMrj 13.03.2017, 11:42
quelle

2 Antworten

7

Wenn Sie den Hintergrund nach einem onload -Ereignis im Bild ändern, sollten Sie sicherstellen, dass das Bild vollständig geladen ist, bevor Sie etwas auf der Seite aktualisieren.

Dieser Ansatz fügt das Ereignis hinzu und behält die Hintergrundänderungen in JS bei.

%Vor% %Vor% %Vor%

Sie können dieselbe Methode auch mit Ihrem Code verwenden, wenn Sie CSS verwenden, um Teile davon zu steuern. Hier setze ich einfach ein data-bg -Attribut in deinem Intervall, dann kontrolliere die background-image (und was auch immer) via CSS mit dem Datenselektor

%Vor% %Vor% %Vor%
    
Michael Coker 17.03.2017, 17:54
quelle
1

Dies ist möglicherweise darauf zurückzuführen, dass Bilder vor der Ausführung des Skripts nicht ordnungsgemäß geladen werden, indem die Funktion onload () aufgerufen wird.

    
captainchhala 24.03.2017 11:32
quelle

Tags und Links