2010-10-20 28 views
2

J'utilise le plugin scrollTo pour faire défiler certaines rubriques. Le problème, il ne fera que défiler vers le haut par petits incréments qui est déterminé par la hauteur de la fenêtre du navigateur. Il ne semble pas reconnaître les identifiants que j'utilise.Jquery scrollPour défiler seulement par petits incréments

Click here to view the page, vous devrez faire défiler vers le bas de la page et sélectionner l'élément avec deux doigts. Vous devez faire défiler manuellement et cliquer sur les liens sur la droite pour voir le comportement mentionné ci-dessus (désolé, c'est un peu complexe).

Répondre

0

Merci à vous deux pour vos réponses. J'ai travaillé sur le fait que le problème était que je cachais mon div parent des étiquettes de nom avec CSS et montrant avec JS. Cela a amené le navigateur à ne pas savoir comment localiser les étiquettes de nom (ou quelque chose comme ça). J'ai enlevé l'affichage: aucun du CSS et voila!

2

Pas besoin d'utiliser le plugin pour cela.

Juste essayer le code ci-dessous -

$('html').animate({ 
    scrollTop: $('#id where you want to scroll').offset().top 
    }, 2000); 
+0

L'utilisation de html et de body est connue pour que l'opéra exécute le code deux fois. Juste html devrait fonctionner. –

+0

@James South - Édité :) – Alpesh

2

J'utilise ce petit extrait pour Scolling

/// <summary> 
    ///  Scrolls the page to a single matched element. 
    ///  Limitations: The document can only scroll a maximum of it's height. If an element is at the bottom of a page with nothing 
    ///  below it then it cannot move that element to the top of the page as nothing exists to fill the space. 
    /// </summary> 
    /// <param name="target" type="String"> 
    ///  The element to scroll to 
    /// </param> 
    /// <param name="padding" type="Integer"> 
    ///  The padding to add to the scrolling destination. Negative values reduce the scrolling distance. 
    /// </param> 
    /// <param name="speed" type="Integer"> 
    ///  The the speed at which to perform the animation. Positive integers only. 
    /// </param> 
    function scrollTo(target, padding, speed) { 

     // Define our variables. 
     var target_offset, target_top; 

     // Fix our value to add the selector. 
     if (target.indexOf("#") == -1) { 
      target = "#" + target; 
     } 

     // Get the top offset of the target anchor and add any necessarry padding. 
     target_offset = $(target).offset(); 
     target_top = target_offset.top + padding; 

     // Scroll to that anchor by setting the body to scroll to the anchor top. 
     $("html").animate({ scrollTop: target_top }, speed); 
    }