J'ai une page Web dans laquelle je veux changer l'image d'arrière-plan d'un div en réponse à une interaction de l'utilisateur. Ce que j'ai jusqu'ici est:Chargement de l'image avant la commutation de l'arrière-plan div dans jquery
function updateImg() {
imgurl=buildImgURL(); // constructs a URL based on various form values
$('#mainImage').css("background-image", "url("+imgurl+")");
}
Cela fonctionne exactement comme je le veux à l'exception d'une chose. En raison d'une combinaison d'images d'arrière-plan relativement volumineuses et d'un serveur relativement lent (dont aucun ne peut facilement être réparé), le chargement de l'image prend un certain temps. Ainsi, lorsque la fonction updateImg() est appelée, la div devient blanche pendant une demi-seconde environ avant le chargement de la nouvelle image d'arrière-plan. Ce que je veux, c'est que l'ancienne image d'arrière-plan reste jusqu'à ce que la nouvelle image soit chargée, puis qu'elle change instantanément. Est-ce possible?
L'image d'arrière-plan est générée à la volée par le serveur, de sorte qu'aucune mise en cache ou préchargement côté client n'est possible.
Parfait. Exactement ce que j'essayais de faire – dagw