当用户点击页面底部时Jquery

时间:2013-05-31 20:24:43

标签: javascript jquery scrolltop

我一直在为我的网站制作一个滚动到顶部的功能,这部分工作正常。然而,我的问题是我有一个固定的div,当它碰到页面的底部时,它会重叠我的页脚。

这是我工作的功能。

$(document).scroll(function (e) {
  if (document.body.scrollTop >= 800) {
    $('#beamUp').show(1000);
         } else {
    $('#beamUp').hide(1000);
    return false;
  }  
});

当我点击页面的那一部分并阻止div移动时,我能以某种方式检测到.Help非常感谢!

jsFiddle:http://jsfiddle.net/zazvorniki/RTDpw/

1 个答案:

答案 0 :(得分:0)

只需获取页面的高度,减去相关div的高度,以及页脚...确保顶部永远不会大于该值...您还需要一个onresize事件处理程序重新评估这个价值。


看着你的jsfiddle ...... here are my edits

在你的滚动监听器中,我正在检查页面的位置,并适当地调整浮动器的底部位置。我还设置了初始显示:none,因此您不需要在初始脚本中调用.hide()。此外,调整窗口大小会产生滚动效果,因此我更改了两个事件的监听器。

$(document).on('scroll resize', function (e) {
  var viewHeight = $(window).height();
  var viewTop = $(window).scrollTop();
  var footerTop = $("footer").offset().top;
  var baseline = (viewHeight + viewTop) - footerTop;
  var bu = $("#beamUp").css({bottom: (baseline < 0 ? 0 : baseline) + 'px'});

  if (viewTop >= 50) {
    bu.show(1000);
  } else {
    bu.hide(1000);
  }
});