How can you check if the scroll bar is positioned at the bottom? Using JQuery or JavaScript
You find the height of the scrolling container, then compare that to the scroll position. If they are the same, then you have reached the bottom.
<div style="overflow: auto; height: 500px">
</div>
$(document).ready(function()
{
$('div').scroll(function()
{
var div = $(this);
if (div.height() == div.scrollTop() + 1) //scrollTop is 0 based
{
alert('Reached the bottom!");
}
});
});
Edit: a little testing in a js fiddle and I realized the previous version is incorrect. You can use a DOM property to find out how much scrolling there is a perform a little math with the height of the element like so
var div = $(this);
if (div[0].scrollHeight - div.scrollTop() == div.height())
{
alert('Reached the bottom!');
}
http://jsfiddle.net/Aet2x/1/
This is working well for my chat window. It also detects if the content isn't long enough to be scrolled.
function atBottom(ele) {
var sh = ele.scrollHeight;
var st = ele.scrollTop;
var ht = ele.offsetHeight;
if(ht==0) {
return true;
}
if(st == sh - ht)
{return true;}
else
{return false;}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With