Tworzę nagłówek, który utknie w miejscu, gdy użytkownik przewinie w dół o określoną liczbę pikseli. Mój nagłówek ma wysokość 121 pikseli, ale część nagłówka, którą chcę przykleić, to dolne 42 piksele nagłówka; co działa, ale w momencie, gdy zaczyna się wbijać, strona przeskakuje o około 50 pikseli.Przewijanie lepkich nagłówków przeskakujących
Moja myśl o tym, co może być przyczyną problemu, to $('#header').css({position: 'fixed'});
. Myślę, że po zastosowaniu fixed
treści, zawartość div
nie bierze już pod uwagę marginesu. Próbowałem grać z różnymi pozycjami, ale nic mi się nie udało.
Stworzyłem , aby lepiej zilustrować mój problem.
kod jQuery
$(window).scroll(function()
{
if($(window).scrollTop() > 79)
{
$('#header').css({position: 'fixed'});
}
else
{
$('#header').css({position: 'static', top: '-79px'});
}
});
kod CSS
body {
margin: 0;
padding: 0;
}
#header {
width: 100%;
height: 121px;
background: url(http://libertyeaglearms.com/dev/admin/graphics/header-bg.png);
}
#content {
margin: 10px auto;
width: 300px;
min-height: 600px;
}
HTML
<div id="header">header</div>
<div id="content">content goes here</div>
Zauważyłeś, że to działa dobrze, gdy kliknij i przeciągnij pasek przewijania w porównaniu z użyciem kółka? Przynajmniej to robi dla mnie ... nie jestem pewien, czy to wskaże problem. Używam też Chrome. Wydaje się, że dzieje się to tylko na pierwszym zwoju. Jeśli przewijam z powrotem, a potem z powrotem, działa ... to jest dziwne. Lubię pracować dziwnie :) – defaultNINJA
Hm, to dziwne. Używam chrome i skakuję w obie strony. – Mike
Właśnie dodałem '$ ('# header'). Css ({position: 'fixed', top: '-79px'});' do stałej części i wydaje się, że zatrzymał się. – defaultNINJA