Задать вопрос
tyukavin_denis
@tyukavin_denis
web developer

Как при наведении на один блок показывать другой (only js)?

Вот пример:
codepen.io/slow_D/pen/KrxaEQ

Необходимо при наведении на один блок показывать соответствующий ему другой блок (при наведении на синий блок должен показываться первый div во второй li).
Решение должно быть гибкое, ибо блоков что в одной, что во второй li может быть много. Прошу помощи, не хватает навыков для реализации универсального решения.
  • Вопрос задан
  • 1398 просмотров
Подписаться 1 Оценить 2 комментария
Решения вопроса 1
На jQuery что то вроде этого можно сделать:
<ul>
  <li>
    <div class="p1 pe" data-block="pt1"></div>
    <div class="p2 pe" data-block="pt2"></div>
  </li>
  <li>
    <div class="pt pt1"></div>
    <div class="pt pt2"></div>
  </li>
</ul>


$(function(){
  $('.pe').on('mouseenter', function(){
    var block = $(this).data('block');
    $('.'+block).fadeTo(200,1);
  });
  $('.pe').on('mouseleave', function(){
    $('.pt').fadeTo(200,0);
  });
});


codepen.io/AmateR/pen/yJxrVR
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Cannabiscat
Что-нибудь типа такого?
document.getElementsByClassName('p1')[0].onmouseover = function() {
  document.getElementsByClassName('pt1')[0].style.opacity = 1;
}
document.getElementsByClassName('p1')[0].onmouseout = function() {
  document.getElementsByClassName('pt1')[0].style.opacity = 0;
}

с другими классами по такому же сценарию поступить. Честно говоря, не совсем понятен требующийся результат.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽