где определяется pageYOffset
Здравствуйте вот есть функция
function getScrollTop(){ /// verifica el calculo total en pixeles de toda la pagina if(typeof pageYOffset!= 'undefined'){ //most browsers return pageYOffset; } else{ var B= document.body; //IE 'quirks' var D= document.documentElement; //IE with doctype D= (D.clientHeight)? D: B; return D.scrollTop; } } Не могу понять ее логику. Как я понимаю если тип typeof pageYOffset не undefined то выполняется return pageYOffset; то есть она же и возвращается, мне не понятно как используется pageYOffset, как я понимаю она определяется в http://test.tel600615.ru/js/jquery-1.11.1.js, но единственное место где я вижу операции с этой переменной это здесь offset: function( options ) { if ( arguments.length ) { return options === undefined ? this : this.each(function( i ) { jQuery.offset.setOffset( this, options, i ); }); } var docElem, win, box = { top: 0, left: 0 }, elem = this[ 0 ], doc = elem && elem.ownerDocument; if ( !doc ) { return; } docElem = doc.documentElement; // Make sure it's not a disconnected DOM node if ( !jQuery.contains( docElem, elem ) ) { return box; } // If we don't have gBCR, just use 0,0 rather than error // BlackBerry 5, iOS 3 (original iPhone) if ( typeof elem.getBoundingClientRect !== strundefined ) { box = elem.getBoundingClientRect(); } win = getWindow( doc ); return { top: box.top + ( win.pageYOffset || docElem.scrollTop ) - ( docElem.clientTop || 0 ), left: box.left + ( win.pageXOffset || docElem.scrollLeft ) - ( docElem.clientLeft || 0 ) }; }, но здесь она тоже просто используется, а где она определена непонятно, объясните, как это происходит. |
window.pageYOffset — это свойство браузера. https://developer.mozilla.org/en-US/...Window.scrollY
В старых браузерах этого свойства, по-видимому, нет. Кстати, в той же статье указан более адекватный код: var y = (window.pageYOffset !== undefined) ? window.pageYOffset : (document.documentElement || document.body.parentNode || document.body).scrollTop; |
Часовой пояс GMT +3, время: 06:30. |