Skip to content

Commit 4086a90

Browse files
Fix issue caused by not resetting both scrollbar positions
1 parent bdc4ecc commit 4086a90

File tree

1 file changed

+12
-19
lines changed

1 file changed

+12
-19
lines changed

src/ResizeSensor.js

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,7 @@
8686
var shrink = element.resizeSensor.childNodes[1];
8787
var shrinkChild = shrink.childNodes[0];
8888

89-
var lastShrinkWidth, lastShrinkHeight;
90-
var lastExpandWidth, lastExpandHeight;
89+
var lastWidth, lastHeight;
9190

9291
var reset = function() {
9392
expandChild.style.width = expand.offsetWidth + 10 + 'px';
@@ -96,6 +95,8 @@
9695
expand.scrollTop = expand.scrollHeight;
9796
shrink.scrollLeft = shrink.scrollWidth;
9897
shrink.scrollTop = shrink.scrollHeight;
98+
lastWidth = element.offsetWidth;
99+
lastHeight = element.offsetHeight;
99100
};
100101

101102
reset();
@@ -113,24 +114,16 @@
113114
el.addEventListener(name, cb);
114115
}
115116
};
117+
118+
var onScroll = function() {
119+
if (element.offsetWidth != lastWidth || element.offsetHeight != lastHeight) {
120+
changed();
121+
}
122+
reset();
123+
}
116124

117-
addEvent(expand, 'scroll', function() {
118-
if (element.offsetWidth > lastExpandWidth || element.offsetHeight > lastExpandHeight) {
119-
changed();
120-
}
121-
reset();
122-
lastExpandWidth = element.offsetWidth;
123-
lastExpandHeight = element.offsetHeight;
124-
});
125-
126-
addEvent(shrink, 'scroll',function() {
127-
if (element.offsetWidth < lastShrinkWidth || element.offsetHeight < lastShrinkHeight) {
128-
changed();
129-
}
130-
reset();
131-
lastShrinkWidth = element.offsetWidth;
132-
lastShrinkHeight = element.offsetHeight;
133-
});
125+
addEvent(expand, 'scroll', onScroll);
126+
addEvent(shrink, 'scroll', onScroll);
134127
}
135128

136129
if ("[object Array]" === Object.prototype.toString.call(element)

0 commit comments

Comments
 (0)