Плавное появление меню jQuery

652
23 июня 2017, 06:37

Здраствуйте.
.header- это главная страница во весь экран. Менюшка появляется после полного скролла от главной страницы.

Нужно чтобы плавно появлялся .menu на jQuery.

JavaScript

  var menu = $('.menu');
  var limit = $('.header').height();
  function toggle(state){
    menu.toggleClass('hidden', state);
}
  $(window).on('scroll', function(){
    var top = $(window).scrollTop();
      if(top < limit){
        toggle(true);
      } else{
        toggle(false);
      }
  });


CSS

.menu{
    width:100%;
    height: 75px;
    background:#F8E9D6;
    position: fixed;
}
.menu.hidden{
    opacity: 0;
}



Код работает, но нужна плавность

Answer 1

нужно всего лишь в css добавить transition и opacity: 1

.menu{
    width:100%;
    height: 75px;
    background:#F8E9D6;
    position: fixed;
    opacity: 1;
    transition: opacity .4s;
}
.menu.hidden{
    opacity: 0;
}
Answer 2
$(window).on('scroll', function () {
    if($('elem').length > 0 && $(window).scrollTop()+$(window).height() >= $('elem').offset().top){                                                                   
        $('elem').fadeIn();                                    
}
READ ALSO
Вопросы в изучении CSS и каркасов сайта [требует правки]

Вопросы в изучении CSS и каркасов сайта [требует правки]

какой этап обучения посоветуете знаю css html как насчёт более продвинутого типа фреймворки less sass мексины и другое

222
Из ссылки в текст через JS

Из ссылки в текст через JS

Например есть текст такого рода : "На

287
ftp Загрузка PDF файла на сервер

ftp Загрузка PDF файла на сервер

Нужно загрузить pdf файлы на сервер по ftpКод :

353
Обработчик событий для конкретного item в combmbox

Обработчик событий для конкретного item в combmbox

Есть combobox - содержащий в себе некие item - меню корочеНеобходимо для каждого их этих item сделать отдельный обработчик событий - т

296