Editor scrolling: run one more adjust() 200ms after scroll or resize in case the browser is slow to re-calculate the element heights and pin/unpin the toolbars. See #28328, fixes #29059.

git-svn-id: https://develop.svn.wordpress.org/trunk@29352 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Andrew Ozz 2014-08-01 21:42:03 +00:00
parent 1cc1956a1f
commit 96daabb134
1 changed files with 8 additions and 1 deletions

View File

@ -21,7 +21,8 @@ jQuery( document ).ready( function($) {
mceBind = function(){}, mceBind = function(){},
mceUnbind = function(){}, mceUnbind = function(){},
fixedTop = false, fixedTop = false,
fixedBottom = false; fixedBottom = false,
scrollTimer;
$textEditorClone.insertAfter( $textEditor ); $textEditorClone.insertAfter( $textEditor );
@ -345,6 +346,11 @@ jQuery( document ).ready( function($) {
} }
} }
function afterScroll() {
clearTimeout( scrollTimer );
scrollTimer = setTimeout( adjust, 200 );
}
function on() { function on() {
// Scroll to the top when triggering this from JS. // Scroll to the top when triggering this from JS.
// Ensures toolbars are pinned properly. // Ensures toolbars are pinned properly.
@ -357,6 +363,7 @@ jQuery( document ).ready( function($) {
// Adjust when the window is scrolled or resized. // Adjust when the window is scrolled or resized.
$window.on( 'scroll.editor-expand resize.editor-expand', function( event ) { $window.on( 'scroll.editor-expand resize.editor-expand', function( event ) {
adjust( event.type ); adjust( event.type );
afterScroll();
} ); } );
// Adjust when collapsing the menu, changing the columns, changing the body class. // Adjust when collapsing the menu, changing the columns, changing the body class.