Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.08.2014, 18:45
Аспирант
Отправить личное сообщение для serrrgggeee Посмотреть профиль Найти все сообщения от serrrgggeee
 
Регистрация: 15.08.2014
Сообщений: 46

где определяется 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 )
		};
	},

но здесь она тоже просто используется, а где она определена непонятно, объясните, как это происходит.
Ответить с цитированием
  #2 (permalink)  
Старый 16.08.2014, 00:29
Аватар для ixth
Профессор
Отправить личное сообщение для ixth Посмотреть профиль Найти все сообщения от ixth
 
Регистрация: 19.01.2010
Сообщений: 354

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;
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
изменение цвета фона где совпадает цифра djonA Общие вопросы Javascript 14 09.04.2014 18:10
Где лучше разместить $(document).ready()? Kotakota jQuery 4 31.10.2012 22:03
Карта города на сайте (где пользователь может указать себя) zebra741258963 Библиотеки/Тулкиты/Фреймворки 0 10.05.2012 03:12
Подскажите, где ошибка? Вып. меню allasan Элементы интерфейса 2 13.03.2012 01:36
Где можно найти этот java код? 1man1 Общие вопросы Javascript 4 20.12.2011 23:12