dmc1989
@dmc1989

Почему меню дергается?

Написал простой скрипт для удержания меню вверху при прокрутке, но иногда оно начинает дергаться вверх-вниз. Например: перезагрузил страницу и резко скролил вниз, а меню будто еще не успело отлипнуть, но даже с течением 300 +- 100мс еще двигается ( Такое случается редко, но все же случается ). Что я не так написал ?

.top-navigation
    nav.top-bar
      .top-bar-left
        include ../components/navbar


var $_main_menu = $('#header .top-bar');

$(document).ready(function() {
  var menu_y = $_main_menu.offset().top;
  var menu_h = $_main_menu.height();
  var $_menu_container = $_main_menu.parent();

  $(window).on('scroll', function(e) {
    if ($(this).scrollTop() >= menu_y) {
      if ($_main_menu.attr('position') != 'fixed') {
        $_main_menu.attr({ 'position': 'fixed' });
        $_menu_container.height(menu_h);
      }
    } else {
      $_main_menu.removeAttr('position');
      $_menu_container.css('height', 'auto');
    }
  });
});
  • Вопрос задан
  • 308 просмотров
Пригласить эксперта
Ответы на вопрос 1
IceRD
@IceRD
весь контент сдвигается добавляя блоку fixed, высота перестраивается.
Ответ написан
Ваш ответ на вопрос

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

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