@westdp

Как сделать фиксированное навигационное меню?

Всем привет, попытался сделать фиксированное навигационное меню по средине экрана слева(6 точек) для сайта, сделал не очень грамотно, но я пока учусь.
Вот демо работы

jQuery(window).on('scroll', function() {
  if(jQuery('body').scrollTop() < jQuery('.slider_main').outerHeight()) {
     jQuery('.button_pagination span').removeClass('active');
     jQuery('#main_slider').addClass('active');
  }
});
jQuery(window).on('scroll', function() {
  if(jQuery('body').scrollTop() > jQuery('.slider_main').outerHeight()) {
     jQuery('.button_pagination span').removeClass('active');
     jQuery('#our_services').addClass('active');
  }
});
jQuery(window).on('scroll', function() {
  if(jQuery('body').scrollTop() > jQuery('.slider_main').outerHeight() + jQuery('.our_services_main_page').outerHeight()) {
     jQuery('.button_pagination span').removeClass('active');
     jQuery('#our_expertise').addClass('active');
  }
});
jQuery(window).on('scroll', function() {
  if(jQuery('body').scrollTop() > jQuery('.slider_main').outerHeight() + jQuery('.our_services_main_page').outerHeight() + jQuery('.expertise_main_page').outerHeight()) {
     jQuery('.button_pagination span').removeClass('active');
     jQuery('#portfolio').addClass('active');
  }
});
jQuery(window).on('scroll', function() {
  if(jQuery('body').scrollTop() > jQuery('.slider_main').outerHeight() + jQuery('.our_services_main_page').outerHeight() + jQuery('.expertise_main_page').outerHeight() + jQuery('.portfolio_main_page').outerHeight()) {
     jQuery('.button_pagination span').removeClass('active');
     jQuery('#blog_section').addClass('active');
  }
});
jQuery(window).on('scroll', function() {
  if(jQuery('body').scrollTop() > jQuery('.slider_main').outerHeight() + jQuery('.our_services_main_page').outerHeight() + jQuery('.expertise_main_page').outerHeight() + jQuery('.portfolio_main_page').outerHeight() + jQuery('.blog_main_page').outerHeight()) {
     jQuery('.button_pagination span').removeClass('active');
     jQuery('#featured_partners').addClass('active');
  }
});


Этот код работает в Google Chrome, Opera и Safari, но в IE и Mozilla Firefox нет, можете подсказать в чем моя ошибка?
Спасибо
  • Вопрос задан
  • 188 просмотров
Пригласить эксперта
Ответы на вопрос 1
@astrojunk
я бы переверстал как
<header> с CSS position:fixed
<section> добавить сверху паддинг, такой же как высота хедера
вся остальная контентная область 
</section>


меняем класс у body, дальше с помощью css перекрашиваем бэкграунд у хедера.

js будет намного проще

var body = $('body');

function checkScroll() {
(window.pageYOffset != 0) ? body.addClass('scrolled') : body.removeClass('scrolled');
}

window.onscroll = function () {
checkScroll();
};
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы