使用 jQuery 检测 Div 结尾

发布于 2024-12-04 02:53:40 字数 453 浏览 0 评论 0原文

当用户在 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 结束时发出警报并调用函数,否则不发出任何警报。! 任何想法将不胜感激:) ....谢谢

I want to detect a div (dynamic content div) end, when user scroll down the scroller in jquery.
i use this code but it will call jquery function by each pixel of scroll down.

$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();
          } 
        });
    }
  );

But i want to alert and call function when the div end reach otherwise not alert anything.!
Any idea will be appreciated :) ....Thanx

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

不弃不离 2024-12-11 02:53:40

我不确定确切的语法,但您可以使用 .scrollTop() 来获取已滚动到视图之外的内容的高度。

if ((divsContentHeight - actualDivHeight) == scrollTopValue)
{
  //Tada, you have reached end of scrolling
}

I'm not sure of the exact syntax but you can use .scrollTop() which gets the height of the content that has already been scrolled beyond view.

if ((divsContentHeight - actualDivHeight) == scrollTopValue)
{
  //Tada, you have reached end of scrolling
}
断桥再见 2024-12-11 02:53:40

我找到了这个问题的解决方案,通过查找从顶部到 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 end的解决方案......
欢呼!

I have find a solution for this problem, by finding the div height from top to div end, and also finding the total page scroll by .scrollTop() + (window).height() and compare these two values like.

$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); 
              }
       }
   }

SO this is the solution of finding div end when scrolling down by jquery.....
Cheer!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文