ScrollTop względem div-a

0

Witam serdecznie ! !
Aby uzyskać pozycje scrolla względem body należy skorzystać z

var s = $("body").scrollTop();

w S mam pozycje. A jeśli chcę otrzymać pozycję względem div-a?

var s = $(".nazwa_klasy").scrollTop();

to nie działa :)

Proszę o pomoc

0

Tobie chyba chodzi o właściwość offsetTop.

scrollTop zwraca pozycję suwaka, w przypadku, gdy element ma suwak. <div> też może mieć suwak o czym zdaje się nie wiesz:

offsetTop zwraca odsunięcie elementu od rodzica, od którego element się pozycjonuje (w przypadku braku używania position relative/absolute będzie to po prostu odsunięcie od górnej krawędzi strony).

http://jsbin.com/zuxoranu/3/

zauważ, że NIE używam jQuery.

0

zwraca pozycje scrolla, ale scrolla ktory jest w tym elemencie. jak twoj div ".nazwa-klasy" nie ma scrolla to scrollTop zwroci 0, bo scroll nie istnieje i jego pozycja jest zero. Tobie chyba bardziej chodzi o .offset().top().

0

Uzyskałem taki efekt, ale to dotyczy się tylko body, więc jeśli strona będzie podzielona na 2 div-y z taką treścią to scrollTop odpada, bo potrzebuję czegoś względem div-a:
http://roboczy.ps.biz.pl/pub/testowa/

Względem scrollowania pewne elementy na stronie przesuwają się. Ale gdy dojdę scrollem do następnej strony to inne elementy na następnej stronie też przesuwają się ale względem tej strony. Dlatego chciałem zrobić scroll względem diva, no ale rozumiem, że źle myślałem. W takim przypadku jeśli element jest pozycjonowany względem div-a, i dajmy na to jesteśmy na drugiej stronie, to musiałbym zrobić takie obliczenie: scrollTop - wysokość pierwszej strony = scrollTop względem div-a na drugiej stronie.

Czy istnieje inne rozwiązanie?

0

Dlaczego na google chrome działa, a na mozilli nie?
To jest moje rozwiązanie już zobrazowane na stronie :
http://roboczy.ps.biz.pl/pub/testowa/

1

Coś nie tak z jQuery:
SyntaxError: Using //@ to indicate sourceMappingURL pragmas is deprecated. Use //# instead jquery.min.js:1
Error: https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js is being assigned a //# sourceMappingURL, but already has one

Użyj innej wersji (jeżeli numerki nie mogą się zmienić to spróbuj pobrać wersję NIEminimizowaną)

1

wywala ci brak pliku "jquery.interactive_3d.js", i dobrze bo nie ma go w folderze: js w ktorym jest sam skrytp js-croll-to.

musisz uzupelnic ten plik

http://roboczy.ps.biz.pl/pub/testowa/js/

//EDITED

Me Culpa. a co do rozwiazania to zamien

$(body).scrollTop();

na

$(document).scrollTop();

1 użytkowników online, w tym zalogowanych: 0, gości: 1