при наведении на поле таблицы возле курсора должен появляться 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>