所以我有这个函数,当卷轴比页面底部高出500px时会触发该函数。
$(document).ready(function() {
var timeout = '';
$(window).scroll(function (e) {
var intBottomMargin = 500;
clearTimeout(timeout);
if ($(window).scrollTop() >= $(document).height() - $(window).height() - intBottomMargin) {
timeout = setTimeout(function(){
$("#next-paginav")[0].click();
}, 300);
}
});
});
问题是,我的html需要高度:100%所以文档高度和窗口高度将是“相同”,对吧? 因此该功能不起作用,除了OS X上的chrome / safari,你在底部稍微反弹,window.scrolltop暂时超过文档高度。
如何使这个功能与我的html 100%高度一起使用?
$(document).ready(function() {
var timeout = '';
$(window).scroll(function (e) {
var intBottomMargin = 500;
clearTimeout(timeout);
if ($(window).scrollTop() >= $('body').height() - $(window).height() - intBottomMargin) {
timeout = setTimeout(function(){
$("#next-paginav")[0].click();
}, 300);
}
});
});
不起作用。
$(document).ready(function() {
var timeout = '';
$(window).scroll(function (e) {
var intBottomMargin = 500;
clearTimeout(timeout);
if ($(window).scrollTop() >= $('body').height() - intBottomMargin) {
timeout = setTimeout(function(){
$("#next-paginav")[0].click();
}, 300);
}
});
});
也不起作用,根本没有任何事情发生。
如何使这个功能与我的html和身体100%高度一起使用?
答案 0 :(得分:0)
使用$('body').height()
代替$(document).height()
。
答案 1 :(得分:0)
$(window).scrollTop() >= $('body').height() - intBottomMargin
应该做的伎俩。 $(window).height()不会在firefox中返回与chrome相同的高度。
答案 2 :(得分:0)
我遇到了同样的问题,并找到了可能的解决方案。您可以在屏幕外克隆并加载正文内容,计算高度,然后删除所述克隆。
function getDocumentHeight() {
var $temp = $("<div>")
.css("position","absolute")
.css("left","-10000px")
.append($("body").html());
$("body").append($temp);
var h = $temp.height();
$temp.remove();
return h;
}