/ / jquery stosuje nieprzezroczystość tylko wtedy, gdy element nie jest określoną klasą - jquery, conditional, css-selectors, nieprzezroczystość

jquery stosuje nieprzezroczystość tylko wtedy, gdy element nie jest określoną klasą - jquery, conditional, css-selektory, nieprzezroczystość

Próbuję zbudować pewną liczbę grafik,zainicjuj je za pomocą 0,5 nieprzezroczystości, a po najechaniu lub kliknięciu krycie zmienia się na 1. (jest częścią elementu wyboru artykułu na stronie - rodzaj karty, ale nie karty) Umieścić wskaźnik myszy nad bitem, ale dodawanie kodu do obsługi klikniętej części jest chyba nadpisane przez zdarzenie najechania, gdy mysz odsunie się od elementu. Jeśli dodaję klasę do elementu, który został kliknięty, aby powiedzieć "wybrane", istnieje sposób, w jaki mogę zastosować element hover tylko wtedy, gdy nie jest class = "selected".

Oto mój niezręczny kod!

$(document).ready(function() {

$(".pic").stop().animate({ opacity: 0.5 }, 250);

$(".pic").each(function() {
$(this).hover(function() {
$(this).stop().animate({ opacity: 1.0 }, 250);
},
function() {
$(this).stop().animate({ opacity: 0.5 }, 250);
});

$(this).click(function() {
alert("Clicked");
$(".pic").stop().animate({ opacity: 0.5 }, 250);
$(this).stop().animate({ opacity: 1.0 }, 250);
});

});
});

Czy istnieje lepszy (czystszy) sposób, aby to zrobić?

Próbowałem CSS i używając Jquery, aby zmienić klasę css, ale nie mogłem jej w pełni przekonać do tego.

Dziękuję Ci

Odpowiedzi:

1 dla odpowiedzi № 1

Sprawdź, czy dany element hasClass () i zrób coś, jeśli nie ...

Przykład:

if(!$(this).hasClass("selected")){
// do stuff
}