Merge pull request #5356 from Rob--W/scroll-issue-5355
scrollIntoView: Skip overflow:hidden elements
This commit is contained in:
commit
42ddb7151b
@ -122,13 +122,14 @@ function scrollIntoView(element, spot) {
|
|||||||
// hidden iframe or object). We have to scroll: if the offsetParent is not set
|
// hidden iframe or object). We have to scroll: if the offsetParent is not set
|
||||||
// producing the error. See also animationStartedClosure.
|
// producing the error. See also animationStartedClosure.
|
||||||
var parent = element.offsetParent;
|
var parent = element.offsetParent;
|
||||||
var offsetY = element.offsetTop + element.clientTop;
|
|
||||||
var offsetX = element.offsetLeft + element.clientLeft;
|
|
||||||
if (!parent) {
|
if (!parent) {
|
||||||
console.error('offsetParent is not set -- cannot scroll');
|
console.error('offsetParent is not set -- cannot scroll');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
while (parent.clientHeight === parent.scrollHeight) {
|
var offsetY = element.offsetTop + element.clientTop;
|
||||||
|
var offsetX = element.offsetLeft + element.clientLeft;
|
||||||
|
while (parent.clientHeight === parent.scrollHeight ||
|
||||||
|
getComputedStyle(parent).overflow === 'hidden') {
|
||||||
if (parent.dataset._scaleY) {
|
if (parent.dataset._scaleY) {
|
||||||
offsetY /= parent.dataset._scaleY;
|
offsetY /= parent.dataset._scaleY;
|
||||||
offsetX /= parent.dataset._scaleX;
|
offsetX /= parent.dataset._scaleX;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user