我一直在为我的网站制作一个滚动到顶部的功能,这部分工作正常。然而,我的问题是我有一个固定的div,当它碰到页面的底部时,它会重叠我的页脚。
这是我工作的功能。
$(document).scroll(function (e) {
if (document.body.scrollTop >= 800) {
$('#beamUp').show(1000);
} else {
$('#beamUp').hide(1000);
return false;
}
});
当我点击页面的那一部分并阻止div移动时,我能以某种方式检测到.Help非常感谢!
答案 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);
}
});