2011-06-07 5 views
0

J'ai un div avec une table à l'intérieur et plusieurs divs de contenu dans les cellules. Cette div a une barre de défilement verticale que je voudrais déplacer via le code jquery. J'ai un code d'animation qui déplace la barre de défilement après avoir cliqué sur un lien d'ancrage. Cependant, le mouvement de la barre de défilement n'est pas constant et ne va que rarement vers la div souhaitée. En outre, le comportement est incohérent car la barre de défilement se déplacera vers un emplacement différent si je clique sur un lien plus d'une fois. Notez que tous les divs sont "empilés" dans les lignes de ma table. J'ai inclus le code pour le javascript ci-dessous.Jquery animate défilement ne fonctionne pas correctement

$('#groupScroller').animate({ scrollTop: $(selector).offset().top }, 'slow'); 
+0

pourrait vous publiez votre tag doctype pour référence? – Jagadeesan

+0

J'ai juste essayé d'utiliser la position au lieu de décalage, mais cela n'a pas fonctionné non plus. Cependant, j'ai réussi à obtenir des informations de débogage. Après avoir cliqué deux fois sur le bouton, je remarque la coordonnée supérieure de la div que j'essaie de faire défiler jusqu'à la réinitialisation à 0. Je pense que je vais devoir coder en dur les valeurs de coordonnées pour ces divs. Sauf si quelqu'un a d'autres idées. – user583824

Répondre

0

La démo a été supprimée mais le code est toujours disponible.

$('.scrollPage').click(function() { 
    var elementClicked = $(this).attr("href"); 
    var destination = $(elementClicked).offset().top; 
    $("html:not(:animated),body:not(:animated)").animate({ scrollTop: destination-20}, 500); 
    return false; 
}); 

La principale raison pour laquelle cela ne fonctionnerait pas serait si vous ne l'avez pas réussi à obtenir une position de l'élément de destination - donc vérifier destination var pour voir quelle valeur vous revenez ...

1

vérifier votre balise DOCTYPE à première ligne de votre code html pour la version html, je pense que la version seulement 5 ou xhtml prend en charge scrollTop.

+0

J'ai fini par utiliser des valeurs supérieures codées en dur à la place. Douleur, mais ça marche. – user583824

Questions connexes