如果窗口在chrome中放大/缩小,则滚动事件的代码不会执行

我正在使用下面的脚本将滚动数据加载到页面底部并在所有浏览器中正常工作。 但是如果我使用键盘快捷键Ctr+Ctrl- (>或<默认缩放)手动放大/缩小窗口,它似乎不适用于chrome。

 if (($(window).scrollTop() + $(window).innerHeight()) >= $(document).height()){ loadData(); } 

这似乎是chrome中的一个错误,我在这里报道了>>

甚至,我通过应用一个小的高度减少(-100)使其工作,以满足条件,在它到达滚动结束之前。

代码是这样的,

 if (($(window).scrollTop() + $(window).innerHeight()) >= $(document).height()-100){ loadData(); } 

编辑

Chrome开发人员在上面提到的错误中提供了以下建议。

 $(window).scrollTop() + $(window).height() >= $(document).height() 
  • 尚未在我身边测试过。

我实现了我的userJS扩展backTopUserJS时遇到了同样的问题

您可以使用适用于Firefox,Chrome和IE的代码:

 function main() { var disp = $(window).scrollTop() > 400 ? 'block' : 'none'; var $upButton = $('
UP
'); $(document).find('body').append($upButton); $upButton.click(function () { $('html, body').animate({ scrollTop: 0 }, 'slow'); }); $(window).scroll(function () { if ($(window).scrollTop() > 400) $upButton.fadeIn('slow'); else $upButton.fadeOut('slow'); }); }; var script = document.createElement('script'); script.appendChild(document.createTextNode('('+ main +')();')); (document.body || document.head || document.documentElement).appendChild(script);

我认为detectZoom js会帮助你这里是js的链接

https://github.com/tombigel/detect-zoom/blob/master/detect-zoom.js