mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-08-01 20:22:29 +00:00
refactor(polyfill) scrollIntoViewIfNeeded
This commit is contained in:
parent
5198cb5f6e
commit
b30c039397
1 changed files with 13 additions and 13 deletions
|
|
@ -110,7 +110,7 @@ var Util, DOM, jQuery;
|
|||
/* function polyfill webkit standart function
|
||||
* https://gist.github.com/2581101
|
||||
*/
|
||||
DOM.scrollIntoViewIfNeeded = function(pElement, centerIfNeeded) {
|
||||
DOM.scrollIntoViewIfNeeded = function(element, centerIfNeeded) {
|
||||
var parent,
|
||||
topWidth,
|
||||
leftWidth,
|
||||
|
|
@ -127,7 +127,7 @@ var Util, DOM, jQuery;
|
|||
if (arguments.length === 1)
|
||||
centerIfNeeded = false;
|
||||
|
||||
parent = pElement.parentNode;
|
||||
parent = element.parentNode;
|
||||
parentComputedStyle = window.getComputedStyle(parent, null);
|
||||
|
||||
topWidth = parentComputedStyle.getPropertyValue('border-top-width');
|
||||
|
|
@ -136,21 +136,21 @@ var Util, DOM, jQuery;
|
|||
parentBorderTopWidth = parseInt(topWidth, 10);
|
||||
parentBorderLeftWidth = parseInt(leftWidth, 10);
|
||||
|
||||
overTop = pElement.offsetTop - parent.offsetTop < parent.scrollTop,
|
||||
overTop = element.offsetTop - parent.offsetTop < parent.scrollTop,
|
||||
overBottom =
|
||||
(pElement.offsetTop -
|
||||
(element.offsetTop -
|
||||
parent.offsetTop +
|
||||
pElement.clientHeight -
|
||||
element.clientHeight -
|
||||
parentBorderTopWidth) >
|
||||
(parent.scrollTop + parent.clientHeight),
|
||||
|
||||
overLeft = pElement.offsetLeft -
|
||||
overLeft = element.offsetLeft -
|
||||
parent.offsetLeft < parent.scrollLeft,
|
||||
|
||||
overRight =
|
||||
(pElement.offsetLeft -
|
||||
(element.offsetLeft -
|
||||
parent.offsetLeft +
|
||||
pElement.clientWidth -
|
||||
element.clientWidth -
|
||||
parentBorderLeftWidth) >
|
||||
(parent.scrollLeft + parent.clientWidth),
|
||||
|
||||
|
|
@ -158,22 +158,22 @@ var Util, DOM, jQuery;
|
|||
|
||||
if ((overTop || overBottom) && centerIfNeeded)
|
||||
parent.scrollTop =
|
||||
pElement.offsetTop -
|
||||
element.offsetTop -
|
||||
parent.offsetTop -
|
||||
parent.clientHeight / 2 -
|
||||
parentBorderTopWidth +
|
||||
pElement.clientHeight / 2;
|
||||
element.clientHeight / 2;
|
||||
|
||||
if ((overLeft || overRight) && centerIfNeeded)
|
||||
parent.scrollLeft =
|
||||
pElement.offsetLeft -
|
||||
element.offsetLeft -
|
||||
parent.offsetLeft -
|
||||
parent.clientWidth / 2 -
|
||||
parentBorderLeftWidth +
|
||||
pElement.clientWidth / 2;
|
||||
element.clientWidth / 2;
|
||||
|
||||
if ((overTop || overBottom || overLeft || overRight) && !centerIfNeeded)
|
||||
pElement.scrollIntoView(alignWithTop);
|
||||
element.scrollIntoView(alignWithTop);
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue