2016-11-16 8 views
3

Ich versuche, Daten auf Seite blättern zu laden und dafür Ich versuche, die folgende Funktionladen mehr Daten - scrollTop Funktion nicht funktioniert

$(window).scroll(function() 
    { 
     if($(document).height() <= $(window).scrollTop() + $(window).height()) 
     { 
     alert("done") 
     } 
}); 

Das Problem ist, wie pro meine Seite auf den Betrieb als ich getan habe Body Overflow: versteckt und machte einen Container scrollbar, funktioniert der obige Code in diesem Fall nicht, aber wenn ich die Körperrolle aktivieren dann funktioniert es gut, kann jemand bitte vorschlagen, wie man damit umgeht?

Hier ist die JSFiddle demo

+1

Sie mit '$ versuchen können (".scroller"). scroll (function() 'anstelle von' $ (window) .scroll (function() ' – vijayP

+0

habe ich schon mit diesem versucht aber kein glück –

+0

siehe diese aktualisierte fidd le: https://jsfiddle.net/n0rramke/3/ – vijayP

Antwort

2

Sie müssen das Element mit der Klasse scroller statt window für Bildlaufposition überprüfen.

$('.scroller').scroll(function() 
    { 
     if($('.scroller').scrollTop() >= ($('.scroller')[0].scrollHeight - $(window).height())) 
     { 
     alert("load more data") 
     } 
}); 

JS Fiddle: https://jsfiddle.net/n0rramke/5/

+0

danke für die Antwort, aber leider nicht funktioniert :( –

+0

@SanjeevK Ich habe meine Antwort auf Ihre Bedürfnisse angepasst. –

+0

danke, versuchte aber den aktualisierten Code aber keinen Erfolg –

0

Dies sollte funktionieren (wenn ich Ihre Frage richtig verstanden habe):

if ($(".scroller").height() <= $(".scroller").scrollTop()) { 
    alert("load more data") 
} 

Fiddle: https://jsfiddle.net/rhbmxssv/ ...

+0

danke für die Antwort, aber es funktioniert nicht, was ich Ich versuche zu tun ist, sagen wir, meine Bildschirmhöhe ist 900 Pixel, dann sollte Alarm auslösen, wenn ich bis zu 900 Pixel darunter blättern. –