@Toast

Есть ли готовый скрипт для выпадающего меню-каталога?

На некоторых страницах сайта необходимо реализовать выпадающее меню-каталог с подуровнями, как реализовано например на таких крупных сайтах как Озон или Юлмарт.

Проблема в том, что если использовать просто jQuery и дропдауны (я не мастер JS), то каталог работает довольно кривенько, неприятные косяки вроде закрывающегося подуровня если ведешь мышку не строго по кнопке и тд. Может кто то знает какие то хорошие готовые решения?
  • Вопрос задан
  • 3203 просмотра
Пригласить эксперта
Ответы на вопрос 3
DeLaVega
@DeLaVega
Верстаю, фронтэндю =)
А что мешает сделать на одном css?
Ответ написан
dimka-dooz
@dimka-dooz
front-end разработчик)
Учить JS. Понадобится думаю)
Ответ написан
Комментировать
iusfof
@iusfof
Front-end developer
решение на css
codepen.io/iusfof/pen/Drjwc?editors=110 пот пример приведенный ниже в действии
все просто:
html:
<div class="hover_me">hover_me</div>

css:
.hover_me {
  width: 300px;
  margin: 0 auto;
  border: 10px solid grey;
  padding: 20px;
  text-align: center;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  border-radius: 20px;
  transition: padding .5s 2s; //<= padding - свойство на которое влияет этот транзишон,
                              //.5s - время анимации, 2s - задержка анимации

                              //в данном случае получается, что при потере ховера
                              //в течении 2х секунд блок не будет возвращаться
                              //к первоначальному размеру, если в течении двух
                              //секунд опять будет ховер на блоке, то возврата
                              //к начальному состоянию не будет
}

.hover_me:hover {
  transition: padding .5s;    //<= здесь же не надо указывать задержку, чтобы анимация
                              //происходила сразу, хотя правильней буджет сказать, что
                              //тут указана задержка в 0 секунд (по дэфолту), при этом
                              //свойство указывать нужно иначе будет использовано
                              //свойство из обычного состояния объекта
  padding: 60px 20px;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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