Je rencontre un petit problème avec jQuery et une image. J'essaye de créer un système simple où une image change sur le vol stationnaire (que j'ai fait fonctionner avec jQuery .hover()) cependant j'essaye maintenant de le configurer ainsi si l'utilisateur clique dessus l'image, la source est changée en permanence pour l'image stationnaire.jQuery Modification d'une image sur le vol stationnaire, puis maintien de l'image sur le clic
Le problème que j'ai est quand je clique, la source change, mais quand je passe la souris, elle revient à l'image "off"! Un problème si simple mais je ne trouve pas de solution.
Le code de vol stationnaire:
$("#image").hover(function() {
$(this).attr("src", getImageSourceOn("image"));
}, function() {
$(this).attr("src", getImageSourceOff("image"));
});
Les fonctions getImageSourceOn/Off revenir simplement une chaîne en fonction du paramètre avec la nouvelle source.
Le code onClick:
var imageSource = $(imageID).attr("src");
var onOff = imageSource.substring((imageSource.length - 5), (imageSource.length - 4));
if (onOff == "F")
{
//alert("Off\nstrID = " + strID);
$(imageID).attr("src", getImageSourceOn(strID));
}
else
{
//alert("On");
$(imageID).attr("src", getImageSourceOff(strID));
}
Ce code prend juste la source et recherche On/Off dans la source pour mettre à l'opposé de l'image. J'ai essayé d'utiliser .toggle() au lieu de cette méthode de sous-chaîne mais je ne pouvais pas le faire fonctionner.
Je suggère d'utiliser background-image propriété CSS et juste changer l'arrière-plan-image-position car la modification de l'attribut src ne s'affichera pas tant que l'image n'aura pas été téléchargée et que, pour la première fois, elle ne montrera pas les changements. – Burimi