Javascript If/Else changement img src
J'ai une chute de fonctionnement dynamique menu déroulant que je voudrais ajouter un peu plus de la fonctionnalité. Le menu est la page de navigation et de survol d'un lien change la source d'une image dans la zone de contenu, reflétant le lien actif. C'est un simple attr(src) de changement.
J'ai ajouté un peu de code pour appliquer un fondu à l'actif des images, changer la source à la valeur par défaut, et à la décoloration, et retour au moment de quitter le menu, mais voudrait cadre de ce code à l'intérieur d'un if/Else; prévention de l'image de la décoloration et de nouveau si la source est inchangé par rapport à la valeur par défaut.
La syntaxe est correcte, mais la fonction ne fonctionne pas correctement. Je suis relativement nouveau et je suis probablement manque quelque chose. Je serais grandement apprécier tous les conseils pour les fonctionnels, plus fiable code!
Je vous remercie pour votre temps,
Daniel
La fonction intégré au sein de l'instruction else (fade out, changement de source, fade in) fonctionne comme je voudrais qu'il.
$("#trigger").mouseleave(function(){
var img = $("#img_home");
if (img.src = "Images/IMG_4663_bw.jpg"){
img.noop();
} else {
img.fadeOut(1000, function(){
img.attr("src","Images/IMG_4663_bw.jpg");
img.fadeIn(1000);
});
}
});
- jQuery n'est pas tout à fait qualifier comme support de développement, il est encore très frontal. 😉
- Je ne peux pas croire que le titre de cette question est "jQuery si/d'autre" - ce n'est pas jQuery - c'est du JavaScript!!
- Désolé Jacob, juste sauté dans la piscine. À l'aide d'une bibliothèque jQuery... mais que sais-je 🙂
Vous devez vous connecter pour publier un commentaire.
Vous êtes assinging la valeur, vous avez besoin de la
==
opérateur, de ne pas le=
opérateur.Si vous êtes à la recherche pour le
else
état, mais, juste à l'inverse de la condition:img
est un objet jQuery.Vous avez besoin pour accéder à ses attributs en appelant
img.attr('src')
.Votre
if
condition attribue laimg
bien; pour vérifier l'égalité, vous devez utiliser le==
(l'égalité) ou===
(égalité stricte) des opérateurs.de jQuery
noop
est une méthode statique; vous l'appeler par écritjQuery.noop()
.Enfin, il n'y a aucun point en appelant
noop()
à tous. Tout d'abord, il n'y a rien de mal avec un vide de la paire de croisillons avec aucune des instructions à l'intérieur:if (something) { } else { ... }
.Aussi, vous pouvez simplement inverser les
if
condition et de se débarrasser de laelse
:Syntaxe est incorrecte. Vous avez besoin
==
dans leif()
déclaration au lieu de=
, qui effectue une affectation au lieu d'une comparaison.Aussi, afin d'accéder directement au
src
de la propriété, vous devez le faire à partir de l'élément du DOM. Vous pouvez utiliser[0]
pour obtenir le premierimg
de l'objet jQuery.Essayer
La différence est de comparer la source, avec le chemin de l'image de la chaîne. Il devrait être ' == '