Skip to content

Commit e974d29

Browse files
committed
[fix] viewTop for window in Internet Explorer
1 parent 965be5e commit e974d29

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

src/VirtualList.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ var VirtualList = React.createClass({
4545

4646
var offsetTop = utils.topDifference(list, container);
4747

48-
var viewTop = typeof container.scrollY !== 'undefined' ? container.scrollY : container.scrollTop;
48+
var viewTop = utils.viewTop(container);
4949

5050
var renderStats = VirtualList.getItems(viewTop, viewHeight, offsetTop, props.itemHeight, items.length, props.itemBuffer);
5151

src/utils/index.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,20 @@ function topFromWindow(element) {
2020
return element.offsetTop + topFromWindow(element.offsetParent);
2121
}
2222

23+
function viewTop(element) {
24+
var viewTop;
25+
if (element === window) {
26+
viewTop = window.pageYOffset;
27+
if (viewTop == null) viewTop = document.documentElement.scrollTop;
28+
if (viewTop == null) viewTop = document.body.scrollTop;
29+
}
30+
else {
31+
viewTop = element.scrollY;
32+
if (viewTop == null) viewTop = element.scrollTop;
33+
}
34+
return (viewTop == null) ? 0 : viewTop;
35+
}
36+
2337
function debounce(func, wait, immediate) {
2438
if (!wait) return func;
2539

@@ -47,5 +61,6 @@ module.exports = {
4761
areArraysEqual: areArraysEqual,
4862
topDifference: topDifference,
4963
topFromWindow: topFromWindow,
64+
viewTop: viewTop,
5065
debounce: debounce
5166
};

0 commit comments

Comments
 (0)