Подпрыгивает меню

333
15 декабря 2017, 01:10

Пытаюсь зафиксировать отдельный элемент на странице при прокрутке страницы. Использую js код:

    var position = 0;
$(window).scroll(function(e) {
  var $element = $('.header-st');
  var scrollTop = $(this).scrollTop();
  if( scrollTop <= 50 ) { 
    $element.removeClass('hide').removeClass('scrolling');
  } else if( scrollTop < position ) {
    $element.removeClass('hide');
  } else if( scrollTop > position ) {
    $element.addClass('scrolling');
    if( scrollTop + $(window).height() >=  $(document).height() - $element.height() ){
      $element.removeClass('hide');
    } else if(Math.abs($element.position().top) < $element.height()) {
      $element.addClass('hide');
    }
  }
  position = scrollTop;
})  

На страницах, где высота большая эффект работает хорошо - https://monosnap.com/file/652avLqJnn9onOyWcR9iZdT1DJsFEX

Но если высота небольшая закрепленный элемент постоянно подпрыгивает - страница становитсч нечитабельна https://monosnap.com/file/E3PIWU5UL1IrMQBdKAilYUOdhHIoQh (на скринкате не видно высокую скорость, но страница не читабельна).

Как это исправить?

Answer 1

Когда вы закрепляете какой-то элемент - он выпадает из страницы и общая высота резко становится меньше. Это и при достаточной высоте неприятно выглядит. Решение - постарайтесь сохранить высоту страницы. Например, на место "выпавшего" прикрепленного меню вы можете поставить пустой div высотой с это меню или добавить в следующий за меню элемент padding-top или margin-top

READ ALSO
Скролл при нажатии на ссылку?

Скролл при нажатии на ссылку?

Есть навбар, надо что бы при нажатии на ссылку он плавно перекидывал на нужную секцию

263
При попытке связать две колонки одной таблицы к колонке другой выдается ERROR 1215: Cannot add foreign key constraint

При попытке связать две колонки одной таблицы к колонке другой выдается ERROR 1215: Cannot add foreign key constraint

Делаю список друзей для своей небольшой соцсетиДля этого решил сделать связь многие ко многим, но у меня не получилось

231
Размер типов long и int при сравнении строк

Размер типов long и int при сравнении строк

Смотрю на код сравнения строк равной длины, а именно на место, где происходит непосредственно сравнение значений по указателю

270