2013-07-29 6 views

Répondre

2

Dans l'esprit avec le défilement, vous devrez interroger la l'ensemble du document, obtenir les éléments de décalage des positions et faire correspondre la valeur scrollTop de la fenêtre. Puis interrogez le :eq(0) (jQuery) de ceux-ci.

EDIT: Je pense que cet exemple va fonctionner, je ne l'ai pas encore essayé, puisque je suis incapable d'accéder à n'importe quel violon ici sur les ordinateurs de travail.

$(function() { 
    var scroll = $(window).scrollTop(); 
    var elements = $("*"); // VERY VERY bad performance tho, watch out! 
    var el; 
    for (var i=0; i<elements.length; i++) { 
     el = $(elements[i]); 
     if (el.offset().top >= scroll && el.is(':visible')){ 
      // "el" is the first visible element here! 
      // Do something fancy with it 

      // Quit the loop 
      break; 
     } 
    } 
}); 
+0

Je teste votre code, désolé pour cette question novice: pourquoi dois-je joindre tous avec une fonction jquery, et aussi pourquoi dois-je faire ceci: el = $ (éléments [i]) ; au lieu de ceci: el = elements [i] – rajeemcariazo

+1

La fonction jQuery est juste un raccourci pour '$ (document) .ready()'. Et je pense que vous pouvez faire 'el = elements [i]' directement oui, je n'étais pas vraiment sûr, donc j'ai joué en sécurité (puisque je ne peux pas le déboguer moi-même) – Eric

Questions connexes