Как сделать выпадающее меню как Яндексе?

Как сделать появление меню как у Яндкса?
Плавное появление с легким выпадением.
35021007323a4616928c0d28e18af4d8.jpg

Пробовал и вот что осталось.
Плавного появления нет, задержка и сразу появление.
$("#more").click(function(){
	$('.more_menu').fadeIn(500).css('display', 'block');
 });

Спасибо.
  • Вопрос задан
  • 2894 просмотра
Решения вопроса 1
iiil
@iiil
Инженер и вэб-дизайнер, рисую.
$('.more').click(function(){
  var menu = $('.menu');
  if (menu.css('display') == 'none') {
    menu.fadeIn(300);
  }
  else {
    menu.fadeOut(100);
  }
});

Пример:
codepen.io/iiil/pen/HEDeI
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
LuckyTrue
@LuckyTrue
JS-разработчик
Нельзя анимировать из display: none в display: block. Попробуйте через opacity и положение элемента.
Ответ написан
Комментировать
street
@street
Backend developer
Достаточно просто написать:

$("#more").click(function(){
	$('.more_menu').fadeIn('fast');
});


Элемент ".more_menu" должен быть изначально display:none;
Ответ написан
Комментировать
@lnked
$("#more").click(function(){
	$('.more_menu').fadeIn(500).css('display', 'block');
 });

в вашем примере, начинается фейд и не успев отработать пол секунды, элементу сразу приписывается display block
что бы этого не было сделайте так:
$("#more").click(function(){
	$('.more_menu').fadeIn(500, function(){
             $(this).css('display', 'block');
        });
 });

то есть дисплей блок пропишется только после того как пройдет анимация.
Ответ написан
Комментировать
temp-market
@temp-market
Фронтэнд разработчик
var moremenu = $('.more_menu');
moremenu.hide();
$("#more").click(function(){
	$('.more_menu').fadeIn(500);
 });


И все сделай переменную more_menu и скрой его через hide();, потом сделай через fadeIn(интервал). И все не нужно задавать css после fadeIn
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
summer Ярославль
от 100 000 до 140 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
20 апр. 2024, в 13:23
1000 руб./за проект
20 апр. 2024, в 12:50
30000 руб./за проект
20 апр. 2024, в 12:01
20000 руб./за проект