2013-05-09 7 views
12

Chcę przewinąć do skrajnej prawej strony strony, która jest naprawdę szeroka (ma szerokie zastosowanie), gdy użytkownik zamyka modal (konkretnie modalny Reveal w fundacji 4).Jak przewinąć w prawo na stronie, która przepełnia się w poziomie?

Próbowałem ustawić identyfikator na div, który jest wyrównany do końca, ale to oczywiście nie działa.

+0

No cóż, odpowiedź na to pytanie znalazłem gdzie indziej w Internecie, dokładniej niż na to: [http://tympanus.net/codrops/2010/06/02/smooth-vertical-or-horizontal-page-scrolling-with- jquery /] (http://tympanus.net/codrops/2010/06/02/smooth-vertical-or-horizontal-page-scrolling-with-jquery/) –

Odpowiedz

27

Aby przewinąć w poziomie, należy użyć scrollLeft().

$('body, html').scrollLeft(400); 

jQuery obsługuje również animowanie właściwości scrollLeft.

Aby przejść całą drogę w prawo, można dostać się przez całą szerokość strony, a odjąć szerokość okna, aby uzyskać lewą krawędź:

var left = $(document).outerWidth() - $(window).width(); 
$('body, html').scrollLeft(left); 
+0

Awesome! Dzięki! Skorzystałem z tego rozwiązania w oparciu o twoją pomoc: '$ ('body, hmtl'). Animate ({scrollLeft: '+ = 500'}, 1000);' –

+0

Użyłem tego rozwiązania dla podobnego problemu i znalazłem użyteczne jest porównanie właściwości 'scrollWidth' elementu z jego' width() ', jak' $ ('selektor') [0] .scrollWidth - $ ('selektor'). width() ' – mopo922

3

rzeczywiście można zrobić z div id. Jeśli masz div tak:

<div id="divid" style="position: absolute; left: 9000px;">Far Right</div> 

Następnie wystarczy zmienić swoją location.hash dopasować:

location.hash = "divid"; 

Przeglądarka zadba o przewijanie dla Ciebie.

0

Ok, więc tutaj jest przykład roboczych: http://jsfiddle.net/B2aQF/1/

Zasadniczo, można ustawić lewy pozycję przewijania ciała przy użyciu jQuery za scrollLeft funkcję:

$(document).ready(function(){ 
    $('body').scrollLeft($(document).outerWidth()); 
}); 

Można nawet ustawić scrollLeft na wyższy numer, niż kiedykolwiek będziesz potrzebował, ponieważ nie przeskakuje.

Powiązane problemy