Ich habe einen Link, der mit einem Hintergrundbild beginnt und sich dann beim Hover-Vorgang zu einem anderen ändert. Beide Hintergrundbilder werden im CSS gesetzt. Meine Browser (einer von ihnen) scheinen das Hover-Bild erst dann zu laden, wenn Sie tatsächlich den Mauszeiger bewegen. Aber dann haben Sie für einige Sekunden (bei meiner sehr langsamen Verbindung) ein leeres Bild, das zum Laden des neuen benötigt wird. Gibt es eine Möglichkeit, den Browser zu ermutigen, das Hover-Bild vorab zu laden, damit beim Hover keine Verzögerungszeit auftritt?
14
Ich mag die Javascript-Lösung nicht wirklich - sie ist chaotisch, schwierig zu warten und scheitert natürlich vollständig, wenn JS deaktiviert ist.
Die moderne Lösung ist die Verwendung von CSS-Sprites - probieren Sie es aus, glauben Sie mir, Sie werden sich fragen, warum Sie das noch nie getan haben;)
quelle
Ich habe diesen Link gefunden, wie man Bilder mit reinem CSS vorlädt:
http://www.thecssninja.com/css/even-better-image-preloading-with-css2
Und es hat bei mir funktioniert, wenn ich die verschiedenen Hintergrundbilder beim Hover ändern muss.
quelle
Fügen Sie dies über Ihrem CSS hinzu:
Wenn Sie sich für die Sprite-Route entscheiden, wie von Danp vorgeschlagen, haben Sie immer noch ein Problem mit dem Laden des Sprites, bevor es benötigt wird. Das heißt, ich liebe Sprites; Um sie einfach zu machen, benutze ich das Spriteme-Tool von Steve Souders:
quelle