Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как правильно добавить класс при наведении (https://javascript.ru/forum/events/64977-kak-pravilno-dobavit-klass-pri-navedenii.html)

mitrich38 17.09.2016 17:03

Как правильно добавить класс при наведении
 
Привет! Подскажите пож-та.
При наведении мышки нужно у прародителя перебрать все элементы и если элемент не имеет потомка то ему добавить класс

$('.MyElem').parent().parent().find('*').each(function(idx, elem) {
  if (!$(elem).children().length) $(elem).mousemove().addClass('Go');
 });

рони 17.09.2016 17:12

mitrich38,
то что вы описали
var parent = $('.MyElem').parent().parent();
parent.mousemove(function() {
$(this).find('*').each(function(idx, elem) {
  if (!$(elem).children().length) $(elem).addClass('Go');
 })
})

mitrich38 17.09.2016 22:35

Да, не совсем точно описал.
скорее получается так нужно;
1) Присваиваем внутри прародителя элементам не имеющего потомка класс "Go"
2) При наведении на каждый элемент с классом "Go" присваиваем класс "animated"

$(function() 
  {
  $('.MyElem').parent().parent().find('*').each(function(idx, elem) {
  if (!$(elem).children().length) $(elem).addClass('Go');
 });
     
 $('.Go').mousemove(function(event) {
          $(this).addClass('animated');

 });


Вроде так, но не работает(

рони 17.09.2016 23:39

mitrich38,
сделайте макет, а что при отведении? и почему не .mouseover() или .mouseleave() ?

mitrich38 17.09.2016 23:58

Макет сложно сделать. я для muse делаю, а он там очень сложно все генерит, ручками долго прописывать.

Вот первая часть работает, "Go" добавляется
а вторая часть не очень работает.

Могу я html документ показать?

рони 18.09.2016 00:00

mitrich38,
ничего не понял

warren buffet 19.09.2016 14:20

Цитата:

Сообщение от mitrich38
прародителя

Предка. Русским языком расскажи что хочешь, то есть сам себе ТЗ напиши.

mitrich38 19.09.2016 23:13

Такая идея
Есть элемент MyElem
Всем элементам без потомка внутри его группы All дабавляем класс Go
При наведении на класс Go Добавляем класс animated

https://jsfiddle.net/cybLhbzj/2/

mitrich38 19.09.2016 23:31

Ну вроде сам разобрался. Спасибо что уделили время!

рони 19.09.2016 23:40

mitrich38,
css
.Go:hover {сюда правила из animated}

и никаких
$('.Go').hover(function(event) {
$(this).addClass('animated');

});


Часовой пояс GMT +3, время: 21:43.