使用jQuery获取scrollbottom

我有以下代码,它获取用户从顶部和底部滚动的数量,然后使用这些值,它应隐藏或显示阴影。

$(document).ready(function() { if ( $(window).scrollTop() + $(window).height() >= $(window).height() ) { $('div.shadow-bottom').show(); } $(window).scroll(function () { if ( $(window).scrollTop() >= 15 ) { $('div.shadow-top').show(); } else { $('div.shadow-top').hide(); } if ( $(window).scrollTop() + $(window).height() >= $(window).height() - 15 ) { $('div.shadow-bottom').show(); } else { $('div.shadow-bottom').hide(); } }); }); 

顶部工作正常,但当你到达页面底部时底部应该隐藏但是如果你是从底部15像素再次显示。

示例: http : //dev.driz.co.uk/shadow/

$(窗口).height(); //返回浏览器视口的高度

的$(document).height(); //返回HTML文档的高度

将您的代码更改为:

 $(document).ready(function() { if ($(window).scrollTop() + $(window).height() >= $(document).height() - 15) { $('div.shadow-bottom').show(); } $(window).scroll(function() { if ($(window).scrollTop() >= 15) { $('div.shadow-top').show(); } else { $('div.shadow-top').hide(); } if ($(window).scrollTop() + $(window).height() >= $(document).height() - 15) { $('div.shadow-bottom').show(); } else { $('div.shadow-bottom').hide(); } }); });​ 

正确的工作示例是:

 $(document).ready(function() { if ($(window).height() < $(document).height()) { $('div.shadow-bottom').show(); } $(window).scroll(function() { if ($(window).scrollTop() >= 15) { $('div.shadow-top').show(); } else { $('div.shadow-top').hide(); } if ($(window).scrollTop() + $(window).height() >= $(document).height() - 15) { $('div.shadow-bottom').hide(); } else { $('div.shadow-bottom').show(); } }); }); 

这是基于bhb的上述答案。