2011-10-26 13 views

Odpowiedz

7

Musisz dowiedzieć się wysokość nagłówka i jej pozycję na stronie, a następnie po prostu pokazać lub ukryć div w zależności od wartości scrollTop jQuery.

Na przykład:

// Get the headers position from the top of the page, plus its own height 
var startY = $('header').position().top + $('header').outerHeight(); 

$(window).scroll(function(){ 
    checkY(); 
}); 

function checkY(){ 
    if($(window).scrollTop() > startY){ 
     $('.fixedDiv').slideDown(); 
    }else{ 
     $('.fixedDiv').slideUp(); 
    } 
} 

// Do this on load just in case the user starts half way down the page 
checkY(); 

Potem wystarczy ustawić .fixedDiv do position: fixed: top: 0; lewo: 0;

Edytuj: Dodałem funkcję checkY(), którą można wywołać za każdym razem, gdy strona ładuje się, a także przewija. Aby jednak najpierw go ukryć, po prostu użyj CSS.

+0

Pracował jak czar, dzięki! – checkenginelight

+0

Przepraszam, tylko jedną szybką rzecz ... jak zatrzymać wyświetlanie na początku? oto mój plik: http://jsfiddle.net/nHnrd/14/ – checkenginelight

+1

Ahh, tak, zobacz moją edycję, należy to sortować! – will

0

może chcesz po prostu pokazać i ukryć div zamiast pseudo klasy I ukryć i pokazać

początkowo. $ ("# myDiv") hide(); następnie (na przewijanie): $ ("# mydiv"). Show();

zestaw co chcesz div wyglądać tzn 0,0 i stałe

Wykorzystaj Keep It Simple metoda!

Powiązane problemy