Javascript.RU

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

Как вызвать через window.onresize функцию внутри prototype
Добрый день!

Ниже упрощёный вариант моего кода, который закрывает полупрозрачным DIV элементом весь BODY:

Код:
var Wait = function(){
	this._cover = $('cover_001');

	this.recalculate();
	window.onresize = this.recalculate;

	this.cover();
}
//----------------------------------------------------------------------------------------------------
Wait.prototype._cover;											// Объект слоя
Wait.prototype.opacity		=	0.4;							// Прозрачность слоя
//--------------------------------------------------------------
Wait.prototype.rushWidth	=	0;								// 
Wait.prototype.rushHeight	=	0;								// 
Wait.prototype.rushX		=	0;								// 
Wait.prototype.rushY		=	0;								// 
//----------------------------------------------------------------------------------------------------
Wait.prototype.cover = function(){								// Накрыть
	this.recalculate();

	this._cover.style.width			=	this.rushWidth+"px";
	this._cover.style.height		=	this.rushHeight+"px";
	this._cover.style.left			=	this.rushX+"px";
	this._cover.style.top			=	this.rushY+"px";
	this._cover.style.opacity		=	this.opacity;
	this._cover.style.filter		=	"alpha(opacity = "+(this.opacity*100)+")";
}

Wait.prototype.recalculate = function(){						// Пересчитать ширину, высоту, позицию и т.п.
	if(this.__object.parentNode===null){
		this.rushWidth			=	this.getClientWidth();
		this.rushHeight			=	document.height || (document.body.offsetHeight+30);
		this.rushX				=	0;
		this.rushY				=	0;
	}else{
		this.rushWidth			=	this.__object.offsetWidth;
		this.rushHeight			=	this.__object.offsetHeight;
		this.rushX				=	this.findPos(this.__object)[0];
		this.rushY				=	this.findPos(this.__object)[1];
	}
}
Хочу сделать, так чтобы при изменении окна все параметры (ширина, высота, положение XY) пересчитывались... Пересчёт как вы видите идёт в функции Wait.recalculate(), как мне её можно вызвать таким образом чтобы передать в неё как аргумент сам класс Wait, к котором требуется пересчёт? Или как сделать так чтобы функция вызывалась прямо внутри нового класса Wait...



Код который используется в HTML

Код:
	var screenFreeze_Object = new Wait();
	screenFreeze_Object.cover();

Последний раз редактировалось hwtech, 05.02.2009 в 13:02.
Ответить с цитированием
  #2 (permalink)  
Старый 05.02.2009, 13:33
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

http://javascript.ru/tutorial/object/thiskeyword
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как выполнить функцию с задержкой? AlexMak Events/DOM/Window 6 11.12.2008 11:53
Как обновить страницу открытую через post Роберт Общие вопросы Javascript 1 05.11.2008 14:53
Как сделать функцию типа toDataUrl для рисунка в ie6 ? Олег Общие вопросы Javascript 2 14.09.2008 00:06
Как передать элемент в функцию после createElement Oleg NT Общие вопросы Javascript 3 23.06.2008 02:11
Нужно вызвать функцию из другого окна Destiny Общие вопросы Javascript 6 07.05.2008 01:32