Domanda

sto giocando con Parallax scrolling come su che Nike Site . Così ho utilizzato scrollTop per determinare la posizione verticale per l'utente sulla pagina e poi sono stato di regolazione posizioni dell'elemento in base alle modifiche a quel valore.

Qui ho arrotondare il valore scrollTop e log esso. Ti faccio vedere il registro in seguito.

var distance = 60*(Math.round($(window).scrollTop()/60));
console.log(distance);

Poi, il clic, io chiamo questa funzione, che scorre al valore scrollTop che ho passato esso.

function goTo(n){
    console.log('begin animating');
    $('html,body').animate({scrollTop: n},2000);
}

Ecco il problema, il valore superiore di scorrimento passa a 0 prima di animazione.

Così sarò a metà pagina e tronchi:

begin animating
0
6240
6180
6120
// etc...

Il modo in cui sto posizionando roba si basa sulla precisione del valore scrollTop. Quindi la mia domanda è:

Come posso mantenere il valore scrollTop da salto a 0 prima di passare attraverso con l'animazione?

Fammi sapere se ci sono più informazioni necessarie.
Heres la versione live del sito: http://theblueeyeguy.com/moon/Illumination/

(clic su 'Avanti' poi 'Indietro' per romperlo)

È stato utile?

Soluzione

Probabilmente perché si sta utilizzando un collegamento con href="#".

Aggiungi return false; per l'attributo onclick.

<a href="#" onClick="goTo(2160);return false;">< Prev | </a>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top