Правильно ли я делаю это? поскольку он не работает... $('#page').css('padding-top': ($headerHeight + 'px'));
$headerHeight
- из var headerHeight = header.height();
,
Я пытаюсь вычислить высоту #header и установить ее как padding-top для #page
//Sticky header on offset
var header = document.querySelector('#header.sticky');
var headerOffset = header.offsetTop;
var headerHeight = header.height();
function scroll () {
if ($(window).scrollTop() >= headerOffset) {
$('#header').css({'position':'fixed','top':'0','left':'0','right':'0','z-index':'9999',});
$('#page').css('padding-top': ($headerHeight + 'px'));
} else {
$('#header').css({'position':'relative'});
$('#page').css('padding-top': '0');
}
} document.onscroll = scroll;
Вот скрипка: http://jsfiddle.net/f4LPz/3/
height()
- это метод jquery, поэтому он должен быть:
var $headerHeight = $(header).height();
jQuery.css() ожидает простой объект пар ключ-значение, более того, $ headerHeight не является именем вашей переменной, "headerHeight" is. Поэтому вам следует изменить:
$('#page').css('padding-top': ($headerHeight + 'px'));
от:
$('#page').css({'padding-top': (headerHeight + 'px')});
Это изменение должно выполнить эту работу.
Лучший.