/ / jquery прилага непрозрачност само ако елементът не е определен клас - jquery, conditional, css-selectors, opacity

jquery прилага непрозрачност само ако елементът не е определен клас - jquery, conditional, css-selectors, opacity

Опитвам се да изградя редица графики,инициализира ги с 0.5 непрозрачност и когато се преобърне или кликне, непрозрачността се промени на 1. (това е част от елемент за избор на статия на страница - нещо като раздела, но не и раздели) Мога да направя курсора на мишката над бита, но добавянето на код, за да се справя с кликвания част е, мисля, че е прекалено от яздя събитие, когато мишката се отдалечава от елемента. Ако добавим класа към елемента, на който е бил натиснат, за да каже "избран", има начин да мога да приложа елемента "hover" само ако не е class = "selected".

Тук е моят скрап код!

$(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);
});

});
});

Има ли по-добър (по-чист) начин да направите това?

Опитах CSS и използвайки Jquery, за да промените CSS класа, но не можах да го накарам да работи така, за да се върна към това.

Благодаря ти

Отговори:

1 за отговор № 1

Проверете дали въпросният елемент hasClass () и направете нещо, ако не ...

Пример:

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