J'ai un élément sur une page avec l'image d'arrière-plan définie à l'aide css:Problème avec modification de la propriété backgroundImage
// CSS snippet
.mystyle {
background-image: url(some_image.gif);
// and other styles like width, height, padding, text-align, etc.
}
// HTML snippet
<input type="button" name="mybutton" id="b1" class="mystyle" onclick="
some_function();" value="Apply">
En fonction Javascript, je suis en train de faire ce qui suit:
newImage = "url(new_image.gif)";
document.getElementById("b1").style.backgroundImage = newImage;
Cela ne fonctionne pas et l'ancienne image d'arrière-plan disparaît.
De plus, quand je vérifie (à l'aide des alertes) ce que la propriété backgroundImage a été mis à avant et après avoir changé:
newImage = "url(new_image.gif)";
alert(document.getElementById("b1").style.backgroundImage);
document.getElementById("b1").style.backgroundImage = newImage;
alert(document.getElementById("b1").style.backgroundImage);
La première alerte montre vide (chaîne vide) et la seconde alerte montre la newImage url.
Donc, il se passe vraiment quelque chose d'étrange ici. Je ne suis pas sûr de quoi. Quelqu'un peut-il aider?
EDIT: Cependant, si je change que l'attribut backgroundColor et définissez les backgroundImage « none », le changement semble fonctionner très bien (sens, le backgroundImage disparaît comme avant et je peux voir la nouvelle backgroundColor .
Vous êtes-vous assuré que l'image que vous essayez de charger existe sur le chemin donné? Votre code semble correct. –
Oui, je l'ai fait. Voir les réponses ci-dessous. Je devais m'assurer que c'était un chemin complet (pas relatif). – Adnan