这是我的咖啡脚本:
jQuery ->
if $('#infinite-scrolling').size() > 0
$(window).on 'scroll', ->
window_top = $(window).scrollTop()
doc_height = $(document).height()
window_height = $(window).height()
window_bottom = window_top + window_height
scroll = window_bottom / doc_height > 0.9
next_page = $('.next_page').attr('href')
console.log(next_page)
console.log($('#infinite-scrolling').size() > 0)
if next_page && scroll
$.getScript next_page
return
return
尽管if
中的语句应该为if
,但它并没有进入true
块,因为当我删除if
时,我可以在控制台中看到它的内容true
通过此行:
console.log($('#infinite-scrolling').size() > 0)
有人知道我在做什么错吗?
答案 0 :(得分:0)
if语句看起来不错。
修复缩进后,代码对我有用,除了.size()
在最新的jquery(3.3.1)中已弃用。我将其替换为.length
。
但是如果没有您的HTML,我将无法测试第二个if块。
您确定没有抛出任何错误吗?
这是我的版本:
jQuery ->
if $('#infinite-scrolling').length > 0
$(window).on 'scroll', ->
window_top = $(window).scrollTop()
doc_height = $(document).height()
window_height = $(window).height()
window_bottom = window_top + window_height
scroll = window_bottom / doc_height > 0.9
next_page = $('.next_page').attr('href')
console.log(next_page)
console.log($('#infinite-scrolling').length > 0)
if next_page && scroll
$.getScript next_page
return
return
这里是codepen