2016-05-25 2 views
0

Я могу просто запутать свой путь через JS/JQuery, и мне нужна помощь в изменении этого фрагмента кода ниже. Он используется для прокрутки страницы до вершины соответствующего элемента, однако заголовок для веб-сайта всегда плавает сверху, так что верхнее число пикселей пикселя элемента находится под заголовком. Как я могу отредактировать это, чтобы он был смещен на высоту заголовка (статическое число)?Как я могу компенсировать scrollTop, чтобы учесть высоту липкого заголовка?

$('html, body').animate({ scrollTop: element.offset().top }, {duration: 400 }); 

ответ

0

Если заголовок фиксированной высоты, просто добавить отступ в верхней части страницы (body), что эквивалентно его высота.

CSS:

body { padding-top: {height_of_header}px; } 

Если это не фиксированная высота, то просто измените scrollTop так, чтобы ваши страницы прокручивается к положению вашего элемента минус высота вашего заголовка:

JS:

$('html, body').animate({ scrollTop: element.offset().top - $('#header').height() }, {duration: 400 }); 
+0

О, это прекрасно, спасибо! Я не мог точно определить, как вычесть высоту заголовка из offset(). Top-- Теперь я чувствую себя глупо, что вижу это. Мне действительно нужно было удалить полуколону после .hight(), я не понимаю, почему, но опять же, я едва скрестил с JS. – Nick

+0

@Nick - точка с запятой была опечатана - удалена. Благодаря! – Adam

Смежные вопросы