Я пытаюсь реализовать фиксированную навигацию вверху, после заголовка, который прокручивается (на данный момент это работает нормально), и боковой панели, которая прокручивается вниз вместе со страницей, пока между первым и вторым элементами div на боковой панели, затем исправляет.
[EDIT: Вот скрипка - jsfiddle.net/rqHCx/5]
Я попытался изменить свой рабочий код для панели навигации, пока не беспокоясь о прокрутке первого элемента:
$(function() {
var side_offset_top = $('#side').offset().top;
var side = function(){
var scroll_top = $(window).scrollTop();
if (scroll_top > side_offset_top) {
$('#side').css({ 'position': 'fixed', 'top': 40, 'right': 0 });
} else {
$('#side').css({ 'position': 'relative' });
}
};
side();
$(window).scroll(function() {
side();
});
});
Но при этом боковая панель, конечно, перескакивает прямо в правую часть браузера, но я не хочу указывать значение в пикселях для 'right': px
, так как тогда оно будет испорчено с разной шириной экрана.
Как я могу заставить его просто не двигаться по горизонтали и фиксироваться на месте по вертикали после прокрутки к нему?
Кроме того, когда я прокручиваю вверх, появляется поле 40px margin-top, я предполагаю, что мне нужно как-то проверить возврат и удалить его тогда?
Спасибо,