diff --git a/core/modules/outside_in/js/off-canvas.es6.js b/core/modules/outside_in/js/off-canvas.es6.js index 01262bef02..aceed74be6 100644 --- a/core/modules/outside_in/js/off-canvas.es6.js +++ b/core/modules/outside_in/js/off-canvas.es6.js @@ -31,6 +31,7 @@ const offsets = displace.offsets; const $element = event.data.$element; const $widget = $element.dialog('widget'); + const $elementScroll = $element.scrollTop(); const adjustedOptions = { // @see http://api.jqueryui.com/position/ @@ -49,6 +50,9 @@ $element .dialog('option', adjustedOptions) .trigger('dialogContentResize.off-canvas'); + + // Reset the elements scroll position after being repositioned. + $element.scrollTop($elementScroll); } /** diff --git a/core/modules/outside_in/js/off-canvas.js b/core/modules/outside_in/js/off-canvas.js index 16c89ab1bb..85a9e53675 100644 --- a/core/modules/outside_in/js/off-canvas.js +++ b/core/modules/outside_in/js/off-canvas.js @@ -16,6 +16,7 @@ var offsets = displace.offsets; var $element = event.data.$element; var $widget = $element.dialog('widget'); + var $elementScroll = $element.scrollTop(); var adjustedOptions = { position: { @@ -31,6 +32,8 @@ }); $element.dialog('option', adjustedOptions).trigger('dialogContentResize.off-canvas'); + + $element.scrollTop($elementScroll); } function handleDialogResize(event) {