J'ai plusieurs images:changement conditionnel (si/alors) basée sur la propriété css dans jquery
<img class="photo" src="{{ img.url_small }} />
<img class="photo" src="{{ img.url_small }} />
<img class="photo" src="{{ img.url_small }} />
Je suis en train de changer la couleur de la bordure lorsque l'utilisateur passe sur l'image ou clique dessus:
$(".photo").click(function() {
$(".photo").css({"background":"white"});
$(this).css({"background":"blue"});
});
$(".photo").mouseenter(function() {
$(this).css({"background":"green"});
}).mouseleave(function() {
$(this).css({"background":"white"});
});
(il y a une marge blanche autour de chaque image ainsi qu'un changement de fond change la frontière)
le problème est quand un utilisateur clique sur une image, il devient bleu, mais lorsque la souris est bouger de l'image, la bordure devient blanche.
J'ai essayé quelques conditionals:
$(".photo").mouseenter(function() {
if($(this).css("background") != "blue") {
$(this).css({"background":"green"});
}
}).mouseleave(function() {
if($(this).css("background") != "blue") {
$(this).css({"background":"white"});
}
});
mais les frontières sont encore tourné dos blanc du bleu. Comment puis-je garder la bordure bleue? Y a-t-il un moyen plus efficace de le faire?
essayer d'enlever les gestionnaires d'événements de souris à partir de l'image lorsque l'on clique dessus. – akonsu