2013-05-09 5 views
12

Desidero scorrere fino all'estrema destra di una pagina che è veramente ampia (è ampia di proposito) quando l'utente chiude una modale (in particolare, la modal Reveal in Foundation 4).Come si scorre a destra su una pagina che fuoriesce in senso orizzontale?

Ho provato a impostare un ID su un div allineato correttamente, ma ovviamente non funziona.

+0

Bene, questo è stato risposto altrove su Internet più precisamente di quanto potessi rispondere: 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/) –

risposta

27

Per scorrere orizzontalmente, utilizzare scrollLeft().

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

jQuery supporta anche l'animazione della proprietà scrollLeft.

Per scorrere tutta la strada a destra, si ottiene l'intera larghezza della pagina, e sottrarre la larghezza della finestra per ottenere il bordo sinistro:

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

Fantastico! Grazie! Ho finito con questa soluzione basata sul tuo aiuto: '$ ('body, hmtl'). Animate ({scrollLeft: '+ = 500'}, 1000);' –

+0

Ho usato questa soluzione per un problema simile, e ho trovato è utile confrontare la proprietà 'scrollWidth' dell'elemento al suo' width() ', come' $ ('selector') [0] .scrollWidth - $ ('selector'). width() ' – mopo922

3

Si può effettivamente farlo con un ID div. Se si dispone di un div come questo:

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

Poi basta cambiare il vostro location.hash Tabellino:

location.hash = "divid"; 

Il browser si prenderà cura di scorrimento per voi.

0

Ok ecco un esempio di lavoro: http://jsfiddle.net/B2aQF/1/

In sostanza, è possibile impostare la posizione di scorrimento sinistra del corpo utilizzando la funzione di jQuery scrollLeft:

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

Si potrebbe anche impostare lo scrollLeft ad un più alto numero di cui avrai mai bisogno, in quanto non sovrascrive.

Problemi correlati