我有这个虚拟滚动脚本,出于某种原因,在大约68500行之后它在Internet Explorer 11中断了,但在FF和Chrome中运行...
https://jsfiddle.net/dLq2284r/5/
最后你可以看到行重叠..但是只有超过65k行之后 我觉得这里出了点问题:
positionPage: function(inPage)
超过1535274,它变得越来越大了
所以我认为设置一个css顶部:1535274px;或者更多是问题,但我可能错了:D
positionPage: function(inPage) {
var pn = inPage.pageNum;
if (this.fixedHeight) {
t = pn * this.rowHeight * this.pageSize;
} else {
if (this.pageTops[pn]) {
t = this.pageTops[pn];
} else {
var n = 0, t = 0;
while (n < pn) {
t += this.getPageHeight(n);
n++;
}
}
}
var t0 = inPage.style[this.horiz ? 'left' : 'top'].slice(0, -2);
// update pageTops cache
this.pageTops[pn] = t;
this.pageTops[pn+1] = t + this.getPageHeight(pn);
// set the page's top
inPage.style[this.horiz ? 'left' : 'top'] = t + 'px';
if (t0) {
return t0 - t;
}
}
我已经尝试了一切......任何帮助,提示或任何事情都将受到赞赏。
我将它用于行数超过90k的数据库,我希望它能在IE上工作至少10万行。
也没有建议框架或其他任何东西,我已经尝试过所有
由于
答案 0 :(得分:0)
IE还有很长的路要走才能与其他浏览器竞争..所以要回答我自己的问题,基于@Sam Segers评论和我的研究似乎在特定高度后IE有高度误算,基于< / p>
Determine Maximum Possible DIV Height
IE可以处理大约1000万像素,但是大约1.5M之后它不准确,例如我的元素有一个样式顶部:1535274px;并且浏览器正在以1534484px添加内容,因此高出790px,我的js在此之后停止工作。从那以后一切都很好,我得出结论,我的脚本正在做它的工作。我刚刚在我的脚本中添加了一个警告,让IE用户知道在高度结果不准确并使用其他浏览器之后。
感谢您的帮助