Javascript.RU

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

Проблемы с style.width в функции
Есть функция которая регистрирует события вызываемая по mouseup, mousedown:

function statistres(id, e)
{
	if(!e) e=window.event;

	var oX = document.getElementById(id).offsetLeft;
	var oY = document.getElementById(id).offsetTop;
	
	offsetX = (e.pageX - oX);
	offsetY = (e.pageY - oY);
	
	startX = e.clientX;
	startY = e.clientY;
	
	if (mflag == 0)
	{
	document.getElementById('stat_win').attachEvent('onmousemove', mres);
		mflag = 1;
	} else if (mflag == 1) {
	document.getElementById('stat_win').detachEvent('onmousemove', mres);
		mflag = 0;
	}
	
}

На mousemove сажается функция mres():
function mres(e, id)
{
	if(!e) e=window.event;
	var dx = e.clientX - startX;
	var dy = e.clientY - startY;
	
	var resize = document.getElementById('resize');
	
	if ((offsetX + dx) >= 50)
	{
		
		document.getElementById('stat_win').offsetWidth = (offsetX + dx)+"px";
		resize.style.left = ((offsetX + dx)-15)+"px";
	}
	if ((offsetY + dy)>=50)
	{
		document.getElementById('stat_win').offsetHight = (offsetY + dy)+"px";
		resize.style.top = ((offsetY + dy)-59)+"px";
	}
	
	clickwrite(e, document.getElementById('stat_win').style.width)
}

Функция clickwrite для вывода информации:
function clickwrite(e, text)
{
	if(!e) e = window.event;
	document.getElementById('result-stat').innerHTML = text;
}


В итоге значение style.width я не получаю не в clickwrite, не в mres через alert
Вне функций получаю корректные значения. Подскажите что произходит.
Ответить с цитированием
  #2 (permalink)  
Старый 21.12.2009, 22:54
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Вы пытаетесь .offsetWidth присвоить значение, в то время, как оно read-only.
Проверить не могу, но похоже на вид, что дело в этом.
Ответить с цитированием
  #3 (permalink)  
Старый 22.12.2009, 12:46
Новичок на форуме
Отправить личное сообщение для HamWay Посмотреть профиль Найти все сообщения от HamWay
 
Регистрация: 21.12.2009
Сообщений: 2

Прошу прощения в запарке не правильную функцию поставил, вот правильная mres():
function mres(e, id)
{
    if(!e) e=window.event;
    var dx = e.clientX - startX;
    var dy = e.clientY - startY;
 
    var resize = document.getElementById('resize');
 
    if ((offsetX + dx) >= 50)
    {
 
        document.getElementById('stat_win').style.width = (offsetX + dx)+"px";
        resize.style.left = ((offsetX + dx)-15)+"px";
    }
    if ((offsetY + dy)>=50)
    {
        document.getElementById('stat_win').style.hight = (offsetY + dy)+"px";
        resize.style.top = ((offsetY + dy)-59)+"px";
    }
 
    clickwrite(e, document.getElementById('stat_win').style.width)
}

И в ней не менятеся значение style.width и syle.height выводом через alert получаем пустое окно
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите, как работает простой код (замыкание функции)? Dotod Общие вопросы Javascript 5 02.12.2009 04:03
Проблемы с вызовом функции pismenov Events/DOM/Window 19 10.07.2009 11:02
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37
Drug&Drop + всплывание события = проблемы =(( _NoName_ Events/DOM/Window 4 05.03.2009 17:47
Паралельное выполнение одной и той-же функции Сеня AJAX и COMET 3 24.01.2009 20:59