jQuery не выполнять код, если есть класс

Горбушка

Ищу её...
Регистрация
2 Май 2008
Сообщения
3.444
Реакции
2.524
Всем привет! Есть вот такой код:
Код:
    $(".home").hover(function() {
      $(this).animate({ backgroundColor: '#fffff'},300);
    },function() {
      $(this).animate({ backgroundColor: '#353535;'},300);
    });
jquery.color.js, конечно же, подключён.

Необходимо чтобы данный код выполнялся только если указан class="home", но не выполнялся, если прописан class="hove active"... В общем, нужно чтобы код не выполнялся для всех элементов, у которых прописан class="active", сам код можно перенести с class="home" на id="home" - не имеет значения.
 
И по традиции, сам спросил - сам ответил...
Код:
    $(".home:not(.active)").hover(function() {
      $(this).animate({ backgroundColor: '#fffff'},300);
    },function() {
      $(this).animate({ backgroundColor: '#353535;'},300);
    });
 
Я бы вообще это сделал при помощи CSS
Код:
.home:not(.active):hover{
background-color:#ffffff;
-webkit-transition: all .3s;
           transition: all .3s;
}
.home.active:hover{
background-color:#353535;
-webkit-transition: all .3s;
           transition: all .3s;
}
 
Я бы вообще это сделал при помощи CSS
Код:
.home:not(.active):hover{
background-color:#ffffff;
-webkit-transition: all .3s;
           transition: all .3s;
}
.home.active:hover{
background-color:#353535;
-webkit-transition: all .3s;
           transition: all .3s;
}
Эх... CSS 3... Я хостингов с PHP 7.0 альфой нашёл больше, чем браузеров полностью поддерживающих CSS 3.0. Так что спасибо, но я на JS..
 
Можно ещё указать точное соответствие.
Код:
    $("[class=home]").hover(function() {
      $(this).animate({ backgroundColor: '#fffff'},300);
    },function() {
      $(this).animate({ backgroundColor: '#353535;'},300);
    });
На class="home active" действовать не будет. Какой способ быстрее - х.з)
 
Можно ещё указать точное соответствие.
Код:
    $("[class=home]").hover(function() {
      $(this).animate({ backgroundColor: '#fffff'},300);
    },function() {
      $(this).animate({ backgroundColor: '#353535;'},300);
    });
На class="home active" действовать не будет. Какой способ быстрее - х.з)
мой способ лучше тем, что можно исключить конкретный класс, а вот остальные могут быть... Т.к. class="home active" не сработает, а class="home" и class="home nav" сработают. Хотя вариант тоже не плохой!
 
Назад
Сверху