Pourquoi .animate à scrollTop saut à 0 avant d'animer?
-
25-10-2019 - |
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)
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>