Remove lot of scroll to view related code
Just use javascript scrollIntoView to do that. Also remove duplication of code related to this Change-Id: Ied1235a85f4fe2d99afa127737979c24d3591118
This commit is contained in:
committed by
Gerrit Code Review
parent
4021b72812
commit
73716f3f67
@@ -485,14 +485,7 @@
|
||||
} );
|
||||
|
||||
$tabButtons.on( 'click', function () {
|
||||
var scrollPosition,
|
||||
panelHeight, panelTop, panelBottom,
|
||||
padding,
|
||||
$window,
|
||||
windowHeight,
|
||||
windowScrollTop,
|
||||
windowBottom,
|
||||
$button = $( this );
|
||||
var $button = $( this );
|
||||
|
||||
if ( $button.hasClass( 'down' ) ) {
|
||||
return;
|
||||
@@ -508,35 +501,10 @@
|
||||
}
|
||||
} );
|
||||
|
||||
displaySettings.$parent.position();
|
||||
$tabButtons.filter( '.down' ).removeClass( 'down');
|
||||
$button.addClass( 'down' );
|
||||
|
||||
padding = 10;
|
||||
$window = $( window );
|
||||
windowHeight = $window.height();
|
||||
windowScrollTop = $window.scrollTop();
|
||||
windowBottom = windowScrollTop + windowHeight;
|
||||
|
||||
panelHeight = displaySettings.$parent.$window.height();
|
||||
panelTop = displaySettings.$parent.$window.offset().top;
|
||||
panelBottom = panelTop + panelHeight;
|
||||
|
||||
// If the ULS panel is out of the viewport,
|
||||
// scroll the window to show it
|
||||
if ( ( panelTop < windowScrollTop ) || ( panelBottom > windowBottom ) ) {
|
||||
if ( panelHeight > windowHeight ) {
|
||||
// Scroll to show as much of the upper
|
||||
// part of ULS as possible
|
||||
scrollPosition = panelTop - padding;
|
||||
} else {
|
||||
// Scroll just enough to show the ULS panel
|
||||
scrollPosition = panelBottom - windowHeight + padding;
|
||||
}
|
||||
|
||||
$( 'html, body' ).stop().animate( {
|
||||
scrollTop: scrollPosition
|
||||
}, 500 );
|
||||
}
|
||||
} );
|
||||
},
|
||||
|
||||
@@ -600,4 +568,3 @@
|
||||
display: DisplaySettings
|
||||
} );
|
||||
})( jQuery, mediaWiki );
|
||||
|
||||
|
||||
Reference in New Issue
Block a user