javascript - $(window).scroll 不适用于 IE11

标签 javascript jquery internet-explorer

你好,我做了一个无限滚动函数来获取 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 及以下版本保留的。确保您使用的属性版本适用于您打算定位的浏览器。

以下(对 debounce 使用 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 方法以确定它是否按您预期的那样工作。如果您在此处分享实现,我们很乐意协助您进一步解决问题。

关于javascript - $(window).scroll 不适用于 IE11,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21831027/

相关文章:

javascript - 具有按钮状态更改的表单并不总是提交

javascript - 如何使用 Node-jose 验证 JWT 签名

javascript - rails : Javascript does not work on paginated objects

jquery - 将 JQuery 与 JSF 集成

javascript - 为什么这个 HTML5 音频特定的 javascript 在 Internet Explorer 9 中不起作用?

JQuery load() 无法在 IE 中通过电子邮件发送页面

javascript - 从使用 Trigger.io 构建的移动应用程序发送发布请求

jquery - 使用 jQuery 控制重复的 div

html - 如何找出IE中的页面下载时间/大小?

javascript - Keyup功能不改变输入框?