$(window).scroll不适用于IE11

嗨我已经创建了一个无限滚动function来获取ajax数据,它的工作完美但不在iE 11中

部分代码:

$(window).load(function(){ $(window).scroll(function(){ if($(window).scrollTop() >= ($(document).height() - $(window).height())){ limitFeeds += 30; getFeeds("noloop",limitFeeds); } }); }); 

任何问题?

谢谢

用于处理滚动事件的jQuery的抽象方法在Internet Explorer中按预期工作。 但请注意,jQuery 2.x适用于IE9 +,而jQuery 1.x适用于IE8及更低版本。 确保您使用的属性版本适用于您要定位的浏览器。

以下(使用lodash进行去抖动 )会在IE11中呈现您期望的结果:

 (function () { "use strict"; var debounced = _.debounce(function () { if ($win.scrollTop() >= $doc.height() - $win.height()) { // AJAX here } }, 250); var $doc = $(document), $win = $(window).on("scroll", debounced); }()); 

你可以在这里在线测试: http : //jsfiddle.net/jonathansampson/74cTx/

如果您仍然遇到问题,我会查看您的getFeeds方法,以确定它是否按预期工作。 如果您在此处分享实施,我们很乐意协助您进一步解决问题。

我有同样的问题。 对我来说,似乎IE11在每个其他滚动上都是1像素。 我通过允许一个小变化解决了它:

 if ($(window).scrollTop() - ($(document).height() - $(window).height()) <= 5) && ($(window).scrollTop() - ($(document).height() - $(window).height()) >= -5)) { LoadMore(); }