您好我已经制作了无限滚动功能来获取ajax数据,它的工作完美但不在iE 11中
代码的一部分:
$(window).load(function(){
$(window).scroll(function(){
if($(window).scrollTop() >= ($(document).height() - $(window).height())){
limitFeeds += 30;
getFeeds("noloop",limitFeeds);
}
});
});
任何问题?
由于
答案 0 :(得分:1)
jQuery用于处理滚动事件的抽象方法在Internet Explorer中按预期工作。但请注意,jQuery 2.x适用于IE9 +,而jQuery 1.x适用于IE8及更低版本。请确保您使用的属性版本适用于您要定位的浏览器。
以下(使用lodash for debounce)呈现您在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
方法,以确定它是否按预期运行。如果您在此处分享实施,我们很乐意协助您进一步解决问题。
答案 1 :(得分:0)
我有同样的问题。对我来说,似乎IE11在每个其他滚动上都是1像素。我通过允许一个小变化来解决它:
if ($(window).scrollTop() - ($(document).height() - $(window).height()) <= 5) && ($(window).scrollTop() - ($(document).height() - $(window).height()) >= -5))
{
LoadMore();
}