@coderxx
keep calm and learn js

Какой псевдокласс применить в данном случае?

Есть выпадающее меню, нужно чтобы после клика по какому-либо пункту эффект, который возникает при :hover, сохранялся пока данный пункт открыт, как сделать?
https://codepen.io/anon/pen/PXmrxj
  • Вопрос задан
  • 77 просмотров
Решения вопроса 1
@Senseich
coderxx, зачем, если можно это на квери сделать. в принципе можно сделать как неактивные ссылки и использовать : active , но это костыль )

Может проще создать класс, например:
.faq__question_w {
	border-bottom: dashed 3px white;
}


Тогда скрипт будет, как то так:

$('.faq__question').on('click', function () {
    $(this).toggleClass('faq__question_w').next('.faq__answer').slideToggle();
    $(this).closest('.frame').siblings().find('.faq__answer').slideUp();
  $(this).closest('.frame').siblings().find('.faq__question').removeClass('faq__question_w');
});

Ну это на скорую руку. может проще можно *)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
niktariy
@niktariy
Люблю верстать
Если проще - при клике вешать класс, например, "active". И задать ему в css стили. Всё :)
$('.faq__question').on('click', function () {
  $('.faq__question').removeClass('active');
  if (!$(this).hasClass('active')) {
    $(this).addClass('active');      
  }
  $(this).next('.faq__answer').slideToggle();
  $(this).closest('.frame').siblings().find('.faq__answer').slideUp();
});
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы