web-dev-qa-db-fra.com

Événement de défilement de fenêtre JQuery?

J'ai une annonce dans mon en-tête et une annonce fixe au bas de ma page qui est toujours là. Je souhaite que l'annonce corrigée n'apparaisse que si l'utilisateur a fait défiler la liste en-tête. J'ai consulté la documentation de JQuery, mais je ne suis pas vraiment sûr de ce que je devrais utiliser.

38
user1834464

Essayez ceci: http://jsbin.com/axaler/3/edit

$(function(){
  $(window).scroll(function(){
    var aTop = $('.ad').height();
    if($(this).scrollTop()>=aTop){
        alert('header just passed.');
        // instead of alert you can use to show your ad
        // something like $('#footAd').slideup();
    }
  });
});
86
Jai

Voir jQuery.scroll () . Vous pouvez le lier à l'élément window pour obtenir votre hook d'événement souhaité.

Au défilement, vérifiez simplement votre position de défilement:

$(window).scroll(function() {
  var scrollTop = $(window).scrollTop();
  if ( scrollTop > $(headerElem).offset().top ) { 
    // display add
  }
});
23
Kyle

Vérifiez si l'utilisateur a fait défiler l'annonce en-tête, puis affichez celle-ci.

if($(your header ad).position().top < 0) { $(your footer ad).show() }

Suis-je correct à ce que vous recherchez?

0
Jonathon Cwik