[Закрыто] Фиксированое меню с jquery

Главные вкладки

Аватар пользователя moralist moralist 2 апреля 2015 в 2:12

Может кто подскажет,
нашел вот такой скрипт (для фиксированого меню), вроде все работает хорошо, но при остановке прокрутки страницы,
блок с меню прокручиваеться("пролетает") немного дальше (чем быстрее прокрутка, тем дальше), и лишь потом возращается на место.
Можно ли это изменить или подскажите другое решение. Спасибо.

$(function() {
var offset = $("#fixed").offset();
var topPadding = 15;
$(window).scroll(function() {
if ($(window).scrollTop() > offset.top) {
$("#fixed").stop().animate({marginTop: $(window).scrollTop() - offset.top + topPadding});
}
else {$("#fixed").stop().animate({marginTop: 0});};});
});

Комментарии

Аватар пользователя moralist moralist 2 апреля 2015 в 2:43

Deman wrote:
Я фиксировал меню через CSS
.fixed-menu {
left: 0;
position: fixed !important;
top: 0;
width: 100%;
z-index: 101;
}

Ситуация немного другая -
во-первых - у меня страница не на всю ширину,
а еще над меню имеется "шапка", которую при прокрутке желательно спрятать.
Так что кажется без скрипта не обойтись.

Аватар пользователя moralist moralist 2 апреля 2015 в 13:42

toshic wrote:
var topPadding = 15;
оно?

Нет, эту переменную я вообще убрал. Все по-старому.
Я предполагаю, что это чисто анималистический эффект,
несоответствие скорости прорисовки страницы при прокрутке и расчетов анимации фиксованого блока.