2012-12-11 6 views
14

ok ecco la sceneggiatura. Ho un sito web di una pagina con le sezioni di maggio che usano i link di ancoraggio. Quando l'utente si trova su un layout secondario (pagina) e quando fa clic su per accedere nuovamente a una sezione della pagina principale, per qualche motivo la grafica non viene caricata correttamente fino a quando non si verifica uno scorrimento. Tutto quello che voglio fare è che quando viene caricato il layout principale, indipendentemente dall'ancora che carica, basta far scorrere la pagina verso l'alto o verso il basso di 1 pixel.Jquery Scroll Un pixel da cui l'utente è sempre sullo schermo

$.scrollTo({ top: '+=100px', left: '+=0px' }, 800); 

Ho provato quanto sopra, ma questo codice prende semplicemente l'utente 100 pixel dall'alto. Non voglio che ciò accada, cioè non dall'alto ma da dove mai l'utente è sullo schermo.

risposta

25

uso jquery scrollTop() per impostare la posizione di scorrimento alla posizione attuale di scorrimento + 1:

$(window).scrollTop($(window).scrollTop()+1); 
+0

Perfetto quello che voglio. +1 –

+0

Fai attenzione a non metterlo in loop, altrimenti otterrai uno scorrimento continuo senza fine. Unles è quello che stai andando. – AlexL

+0

@Justin McDonald Questo non funziona, invece di usare la finestra 'html, body'. – Kadaj

3

Una soluzione pura JavaScript senza l'overhead jQuery:

window.scrollY += 100; 

Con jQuery (e animazione di fantasia):

var cur = $(window).scrollTop(); 
$(window).animate({scrollTop: cur + 100}); 
1
$("html, body").animate({scrollTop: ($(window).scrollTop() + 1)}); 
+0

Usa 4 spazi davanti al codice per formattarlo come codice. –

Problemi correlati