2010-06-09 18 views
5

Używam następujących poleceń w kolejności przewijania do góry. Jak mogę go edytować, aby górna część była ustawiana przez znacznik div?Jquery przejdź do tagu div

var pageRequestManager = Sys.WebForms.PageRequestManager.getInstance(); 
pageRequestManager.add_endRequest(function() { 
$('html, body').animate({ scrollTop: 0 }, 'slow'); 
}); 
+0

@strakastrouks: Masz na myśli, że nie chcesz, aby przewinąć do absolutnego górze strony, ale do konkretnej góry, gdzie znajduje się konkretny DIV? – jAndy

+0

Yeap! To jest poprawne. Ale mój angielski jest okropny. – OrElse

Odpowiedz

8

Trzeba użyć .offset() aby uzyskać prawidłową wartość pozycji jak:

$('html, body').animate({ scrollTop: $('#div').offset().top }, 'slow'); 

.offset zwraca aktualną pozycję elementu w stosunku do dokumentu.

Referencje: .position(), .offset()

+0

Zamiast tego użyj '.offset()', który podaje pozycję względem dokumentu, ponieważ 'scrollTop' działa również w stosunku do samego dokumentu. –

+0

@Tatu Ulmanen: Właśnie dodałem, że podczas komentowania :) – jAndy