Question

Je joue avec Parallax défilement comme sur que Nike . Donc, je suis en utilisant scrollTop pour déterminer la position verticale de l'utilisateur sur la page et je l'ai été réglage les positions des éléments en fonction des modifications apportées à cette valeur.

Ici, j'Arrondir la valeur scrollTop et LOGGUE. Je vais vous montrer le journal plus tard.

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

Puis, clic, j'appelle cette fonction qui défile à la valeur scrollTop que je l'ai passé il.

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

Voici le problème, la valeur supérieure de défilement passe à 0 avant d'animer.

Je serai au milieu de la page et les journaux:

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

La façon dont je suis le positionnement des choses repose sur la précision de la valeur scrollTop. Donc, ma question est:

Comment puis-je conserver la valeur scrollTop de saut à 0 avant de passer à l'animation?

Laissez-moi savoir s'il y a plus d'information nécessaire.
Heres la version live du site: http://theblueeyeguy.com/moon/Illumination/

(cliquez sur 'Suivant' puis 'Précédent' de le casser)

Était-ce utile?

La solution

Probablement parce que vous utilisez un lien avec href="#".

Ajouter return false; à votre attribut onclick.

<a href="#" onClick="goTo(2160);return false;">< Prev | </a>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top