jQuery hover 2 элемента

249
25 июня 2017, 15:40

Помогите реализовать такое. Есть 2 динамических блока добавленных на страницу через $().html()

Пускай это будут div_1 и div_2.

  • div_1 - по умолчанию виден.
  • div_2 - по умолчанию скрыт.

При ховере на div_1 показывается div_2 (он находится вплотную к div_1)

При переходе ховера с div_1 на div_2 - оба элемента видны.

При переходе ховера снова на div_1 - div_2 прячется, div_1 - виден.

Если ховер НЕ находится на каком либо из этих элементов, все дивы скрываются. Сначала скрывается div_2, а через 2 секунды прячется div_1.

Answer 1

Вот пример реализации вашего вопроса:

$(document).ready(function(){ 
  $('body').append('<div class="div_1"></div><div class="div_2"></div>'); 
  var first_hover = true; 
  $(document).on('mouseover', '.div_1', function(){ 
    if(first_hover){ 
      $('.div_2').show(); 
      first_hover = false; 
    } 
  }); 
  $(document).on('mouseover', '.div_2', function(){ 
    $('.div_2').show(); 
  }); 
  $(document).on('mouseleave', '.div_1', function(){ 
    if(!$('.div_2').is(":hover")){ 
      $('.div_2').hide(); 
      setTimeout(function(){$('.div_1').hide();}, 1000); 
    }     
  }); 
   
  $(document).on('mouseleave', '.div_2', function(){ 
    if(!$('.div_1').is(":hover")){ 
      $('.div_2').hide(); 
      setTimeout(function(){$('.div_1').hide();}, 1000); 
    } 
    else{ 
      $('.div_2').hide(); 
    } 
  }); 
   
});
body{ 
  margin-top: 50px; 
} 
.div_1{ 
  height: 20px; 
  background: red; 
} 
.div_2{ 
  height: 20px; 
  background: blue; 
  display: none; 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

READ ALSO
Border-bottom и два цвета

Border-bottom и два цвета

Нужно сделать, чтобы в меню при наведении на элемент border-bottom был двух цветов, как на картинке:

286
Свойство column-count не работает в Google Chrome

Свойство column-count не работает в Google Chrome

В списке категорий в моём магазине мне нужно было отобразить список в несколько колонок,для этого я использовал:

413
Deadlock при сортировке результата выборки

Deadlock при сортировке результата выборки

Имеется запрос, выполняемый параллельно множеством потоков в собственных транзакциях:

313