窗口在所有分辨率中滚动到页脚的事件 - jquery

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了窗口在所有分辨率中滚动到页脚的事件 - jquery相关的知识,希望对你有一定的参考价值。

我有html其中有标题页脚和div之间。我正在尝试在窗口滚动到页脚时创建一个事件。当页脚立即出现时,必须弹出一个警告,显示一条消息。

这是我的HTML内容http://jsfiddle.net/q4bw82gy/

我已经尝试了下面的jquery代码,但它不适用于桌面以外的分辨率

  $(window).scroll(function() {
 var scrollPosition = $(window).height() + $(window).scrollTop();
 var theight = ($('.banner-section').height()+$('.section-one').height()+$('.section-two').height()+$('.read-one').height()+$('.read-two').height()+$('.next-program').height())-($('.navbar-dark').height()+ 
 ($('.main-navigation').height()));

 var height1 = $(window).scrollTop();
 var height2 = $('.main').height()-$('.expand-section').height()-$('.ftr').height();
 if(height1 >=  theight){
  alert('message 1');
 }
 else{
alert('message 2');
  }
 });

请帮助提供更好的解决方案

答案

你想要这样的东西吗?

$(function() {
  $(window).scroll(function() {
    var footerTop = $('.ftr').position().top; // or .offset().top
    var scrollTop = $(window).scrollTop();
    var viewportHeight = $(window).height();

    if (footerTop <= scrollTop + viewportHeight) {
      console.log("true|" + footerTop + "|" + scrollTop + "|" + viewportHeight);//alert
    } else {
      console.log("false|" + footerTop + "|" + scrollTop + "|" + viewportHeight);//alert
    }
  });
});

以上是关于窗口在所有分辨率中滚动到页脚的事件 - jquery的主要内容,如果未能解决你的问题,请参考以下文章

让 Bootstrap 选项卡自动填充高度到页脚?

html 边栏固定到页脚,然后滚动 - 通过HC-Sticky

文档事件不会绑定到页脚

导航栏、正文和页脚的滚动问题

在iOS7中具有固定页眉和页脚的网页上的滚动问题

带有侧导航和内容区域的 CSS3/HTML5 粘性页眉/页脚