当用户在jquery中向下滚动滚动条时,我想检测div(动态内容div)结束。 我使用这个代码,但它将按向下滚动的每个像素调用jquery函数。
$j(function($j){
$j('.products').bind('scroll', function()
{
if($j(this).scrollTop() + $j(this).innerHeight()>=$j(this)[0].scrollHeight)
{
alert('end reached');
$j.fn.productsload();
}
});
}
);
但是我希望在div结束时提醒并调用函数,否则不会发出任何警报。 任何想法将不胜感激:) .... Thanx
答案 0 :(得分:1)
我不确定确切的语法,但您可以使用.scrollTop()
来获取已经滚动到视图之外的内容的高度。
if ((divsContentHeight - actualDivHeight) == scrollTopValue)
{
//Tada, you have reached end of scrolling
}
答案 1 :(得分:0)
我找到了解决这个问题的方法,通过从顶部到div结尾查找div高度,并通过.scrollTop()+(window).height()查找总页面滚动,并比较这两个值。
$j(function($j){
$j('.products').bind('scroll', function()
{
var elem = $j('products');
var divend = elem[0].scrollHeight + elem.offset().top; // full height of div (from top and actual div height).
var pagescroll = $j(this).scrollTop() + $j(this).height(); // Total page scrolled.
if(divend <= pagescroll)
{
alert(" Div End reached! ");
alert("Full DIV height: "+divend+" Scroll page Height: "+pagescroll);
}
}
}
所以这是通过jquery向下滚动时找到div结尾的解决方案..... 振作!