2010-11-07 6 views
1

Je veux écrire une fonction jquery qui prendra un certain nombre d'éléments div par id ou class et l'écran défilera pour qu'ils soient visibles. Je sais que cela ne sera peut-être pas possible si les divs sont répartis sur la page et qu'il est impossible de tout voir, mais que vous aimeriez être en mesure d'en informer l'utilisateur.faire défiler vers un ensemble d'éléments à l'écran avec jquery

Des conseils sur comment je peux faire cela?

Répondre

5

Si vous avez un sélecteur, vous pouvez simplement utiliser .scrollTop() pour aller au premier élément les matchs de sélection, comme ceci:

$(window).scrollTop($(".selector").scrollTop()); 

Ou pour l'animer il est donc pas un saut immédiat là, utilisez .animate() :

$("html, body").animate({ scrollTop: $(".selector").scrollTop() }, 5000); 
0

Si vous souhaitez faire défiler la fenêtre vers un élément, vous pouvez utiliser le plugin scrollTo pour jQuery.

$.scrollTo('#focusOnMe'); 

Vous pouvez visiter this page pour voir quelques démos du plug-in au travail.

+0

Merci, mais préférez ne pas utiliser un plugin externe – amateur

+0

@Niall: Une raison particulière? Pourquoi réinventer la roue et tuer des insectes morts depuis longtemps? En fait, je peux fournir un [plugin similaire] (http://erraticdev.blogspot.com/2011/02/jquery-scroll-into-view-plugin-with.html) Vous pouvez réutiliser le code à votre guise. –

0

sans plugin jquery $ (fenêtre) .scrollTop (. $ ("# destinationDiv") offset() en haut.);

Questions connexes