Показать сообщение отдельно
  #1 (permalink)  
Старый 26.06.2009, 19:06
Новичок на форуме
Отправить личное сообщение для alex9425 Посмотреть профиль Найти все сообщения от alex9425
 
Регистрация: 26.06.2009
Сообщений: 2

всплывающий div содержание которого подгружается ajax'ом
при наведении на поле таблицы возле курсора должен появляться div содержание которого подгружается с помощью ajax . В IE все работает норм а в MF тупит страшно. Я только недавно начал работать с ajaxом (это первый мой скрипт с его использованием) поэтому немогу понять в чем может быть проблема

вот код :


hide=1;
def = new Array('','','','','','','','','','','','','','');
s = new Array(14);

function mc(e){
	var m = {};
	if (getNameBrouser()=="msie"){
		m.x = window.event.clientX+document.body.scrollTop;
		m.y = window.event.clientY+document.body.scrollLeft; 
	}
	else{
		m.x = e.clientX + window.scrollX;
                m.y = e.clientY + window.scrollY;
	}	
	return m;
}


function movestat(e){
	var m = mc(e);
	obj=document.getElementById('stat');
	obj.style.top=String(m.y)+'px';
	obj.style.left=String(m.x)+'px';
}

function showstat(id,e){
	if (hide == 1){
		var cx = id.substring(0,id.indexOf('-',0));
		var cy = id.substring(id.length-id.indexOf('-',0),id.length);
		var url  = '<? echo $basedir; ?>stat.php?x='+cx+'&y='+cy;
		loadHTML(url);
		
		hide=0;
	}
	movestat(e);
}


function hidestat(){
	var a = document.getElementById('stat');
	a.style.visibility = "hidden";
	hide=1;
}
function loadHTML(sURL)
{
  var request=null;
	// пытаемся создать объект для MSXML 2 и старше
  if(!request) try {
    request=new ActiveXObject('Msxml2.XMLHTTP');
  } catch (r){}

  // не вышло... попробуем для MSXML 1
  if(!request) try {
    request=new ActiveXObject('Microsoft.XMLHTTP');
  } catch (r){}

  // не вышло... попробуем для Mozilla
  if(!request) try {
    request=new XMLHttpRequest();
  } catch (r){}

  if(!request)
    // ничего не получилось...
    return "";
  // делаем запрос
	request.onreadystatechange= function (){
		if (request.readyState == 4) {
			result = request.responseXML.getElementsByTagName('sucess')[0].firstChild.data;
			if (result==1){
				a = request.responseXML.getElementsByTagName('max')[0].firstChild.data;
				for (i=0;i<a;i++){
					s[i]=request.responseXML.getElementsByTagName('id'+i)[0].firstChild.data;
				}  
			}
			else{
				s = new Array('0','0','0','0','0','0','0','0','0','0','0','0','0','0');	
			}
			for(i=0;i<s.length;i++){
				var t = document.getElementById('s'+i);
				t.innerHTML = def[i]+' '+s[i];
			}
			document.getElementById('stat').style.visibility="visible"; 
		}
	}
	request.open('GET', sURL);
	request.send(null);
}


код в каждом <td> таблицы
<a href="javascript:void(0);" onmousemove="showstat(this.parentNode.id,event);" onmouseout="hidestat();" ></a>

Последний раз редактировалось alex9425, 26.06.2009 в 20:08.
Ответить с цитированием