2013-07-30 2 views
1
var Height = 600; 

    $('#message_container').scroll(function(){ 
     if ($('#message_container').scrollTop() > Height){ 
      alert('up'); 

     }else{ 
      alert('down'); 
     } 
    }); 

J'ai div overflow-y:auto, il récupère 10 messages par temps.Jquery détecter div barre de défilement vers le haut

J'essaie d'utiliser jquery pour aller chercher plus de messages.

div hauteur est 600px; tandis que je suis en train de tester, il garde alerte même si je fais défiler, quelqu'un sait pourquoi?

est ici Fiddle http://jsfiddle.net/asEmz/

+1

Qu'est-ce que votre HTML ressemble? – putvande

+0

essayez d'obtenir la valeur de $ ('# message_container'). ScrollTop(). Je ne pense pas que cela renvoie une valeur. – Parrotmaster

+0

http://jsfiddle.net/asEmz/ – user2178521

Répondre

4

de JQuery

La position de défilement verticale est le même que le nombre de pixels qui sont cachés de la vue au-dessus de la zone défilante. Si la barre de défilement est au sommet, ou si l'élément n'est pas scrollable, ce nombre soit 0

tester donc avec 0 demo

$(document).ready(function(){   
    $("#message_container").scrollTop($("#message_container")[0].scrollHeight); 

    var Height = 600; 

    $('#message_container').scroll(function(){ 
     if ($('#message_container').scrollTop() == 0){ 
      $('#status').html('up'); 
      //alert('up'); 

     }else{ 
      $('#status').html('down'); 
      //alert('down'); 
     } 
    }); 

}); 
0
$(document).ready(function(){   
$("#message_container").scrollTop($("#message_container")[0].scrollHeight); 

var Height = 60; 

$('#message_container').scroll(function(){ 
    if ($('#message_container').scrollTop() < Height){ 
     alert('up'); 

    }else{ 
     alert('down'); 
    } 
}); 

}); 
Questions connexes