2015-08-13 2 views
0

У меня проблема с прокручиваемым заголовком, она начинается жизнь в нижней части браузера, как только страница прокручивается вниз, а заголовок достигает вершины, он исправляет.Прокрутка липкого заголовка, вызывающего следующий div, чтобы прыгать, когда он достигает вершины

Проблема заключается в том, когда она исправляется, следующий div скажет, что высота заголовка переместится вверх.

Вот мой JQuery

var elementPosition = $('header').offset(); 

$(window).scroll(function(){ 
    if($(window).scrollTop() > elementPosition.top){ 
     $('header').addClass("stick"); 
    } else { 
     $('header').removeClass("stick"); 
    } 
}); 

и вот CSS

.stick { 
    position:fixed; 
    top:0; 
} 
+2

Можете ли вы предоставить HTML-заголовок или, что еще лучше, рабочий скрипт js? –

+0

В чем проблема? я не могу понять. –

+0

желающий z-index выпуск. Его непонятно, пока вы не предоставите Fiddle .. –

ответ

1

Проблема возникает потому, что при создании заголовка фиксирован, вы его удаления из потока страницы. При этом следующее содержание «прыгает», чтобы занять его место.

Одним из решений является добавление «призрак» div, который имеет ту же высоту, что и заголовок, и скрыт по умолчанию.

В точке, где заголовок достигает верхней части окна, и вы фиксируете его на месте, вы также можете отобразить div-призрак, который сразу же занимает свое место и препятствует вскакиванию следующего содержимого.

Другим решением является добавление «margin-top» к следующему контенту, каков бы ни был ваш заголовок. Это будет иметь тот же эффект и будет препятствовать остальной части содержимого страницы.

+0

Привет, Лука, это звучит как идеальное решение, можете ли вы показать мне быструю демонстрацию html/css – Dan

+0

. Вот вы: https://jsfiddle.net/w1fs5ho5/ привидение появляется только тогда, когда заголовок имеет были исправлены. Если вы затем удалите div-призрак из html, вы увидите «прыгающую» ситуацию, как сейчас. –

+0

Спасибо, идеальное решение и очень плавный, в отличие от некоторых других методов, которые я пробовал. – Dan

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