2012-09-15 18 views
8

Użyłem slimScroll na mojej stronie z treścią jest dodawana przez AJAX.Przewiń listę z wtyczką slimscroll

Jeśli przewijam w dół przewijanie, a następnie ponownie ładuję zawartość (ładowanie AJAX), pasek przewijania zawsze zachowuje swoją pozycję tak samo jak poprzednio.

Zastanawiam się, czy slimScroll ma jakąś funkcję, którą mogę wywołać, aby przewinąć do góry po załadowaniu nowej treści?

Odpowiedz

5

Od wersji 1.0.0, jeśli trzeba przewinąć do góry można wykorzystać budować w scrollTo metody:

$(element).slimScroll({ scrollTo: '0' });

+1

Dziękuję Rochal za świetną wtyczkę, to naprawdę jedna z najlepszych, jakie mogę znaleźć w Internecie, ale wygląda na to, że w ten sposób nie mogę rozwiązać mojego problemu. Pasek przewijania wciąż utrzymuje swoją pozycję po ponownym wczytaniu treści za pomocą ajaxu – Ichigo

+2

I Mam dokładnie ten sam problem. Treść jest przewijana do góry, ale pasek przewijania pozostaje w tej pozycji. Ktoś ma jakieś dodatkowe przemyślenia na ten temat? –

21

Nie sądzę opcja scroll opisał @rochal dzieje do pracy teraz, ponieważ nie wydaje się być używane przez the version currently up on GitHub. Zamiast tego spróbuj scrollTo lub scrollBy.

Aby przewinąć do góry:

$('#elem_id').slimScroll({ scrollTo : '0px' }); 

Odwrotnie, jeśli chcesz, aby przewinąć do dołu, a następnie następujące powinny działać:

var scrollTo_val = $('#elem_id').prop('scrollHeight') + 'px'; 
$('#elem_id').slimScroll({ scrollTo : scrollTo_val }); 
+2

Działa doskonale w przypadku przewijania do dołu. – gfivehost

+1

Kocham cię. Naprawdę to robię. Cóż, bardzo mi pomogłeś :) – Placeable

0

alternatywnie można użyć javascript, aby rozwiązać ten problem ...

document.getElementById("element-id").scrollTop = document.getElementById("element-id").scrollHeight; 

element-id jest id swojego c Obszar ontent (normalnie jego div) ..

wykonanie tego kodu, kiedy nowa treść jest dołączana do div

2

Ten kod uruchomić dla mnie.

var scrollTo_int = $('#elem_id').prop('scrollHeight') + 'px'; 
$('#elem_id').slimScroll({scrollTo : scrollTo_int }); 

Spowoduje to przejście do paska przewijania w dolnej pozycji, a także pobranie zawartości na dole elementu div.

+0

Dzięki. To działa idealnie. –