我使用以下代码滚动到页面底部后尝试加载更多内容(此解决方案用于解决stackoverflow中的几个问题):
$(document).ready(function () {
$(window).scroll(function() {
if($(window).scrollTop() + $(window).height() == $(document).height()) {
// AJAX
}
});
});
当我在Firefox Quantum中测试它时,它表现得非常奇怪,有时工作,有时不工作,当我在Safari中尝试它时,它运行得很完美。 Firefox是否存在使用方法或if语句的问题?感谢。
答案 0 :(得分:1)
可能是你的平等有点严格,并且没有触发事件。尝试使用> =或< =而不是==
这样的事情:
$(window).scrollTop() > $(document).height() - $(window).height()
答案 1 :(得分:0)
事实证明,Firefox秘密地将$(window).scrollTop()
解释为浮点值,向整数添加小值,例如,834不是834但是834.05,因此,条件从未得到满足。使用Math.ceil()
解决了这个问题,因为这个数字总是小于应该的数量。也许使用< =,> = @obey建议也可以解决问题,但是,我发现条件会多次触发,这对我的项目来说是不可取的。谢谢大家的帮助!