[résolu] javascript différent sous ie et ff
Publié : 05 nov. 2007, 15:34
Salut les djeuns !
Un petit code valant mieux qu'un grand discours, voici le code
la function est un truc tout bête de collision de boite, peu importe.
le probleme c'est que ie me met une erreur javascript sur
var b_x=parseInt(obj.offsetLeft); (sur offsetLeft plus précisement !)
chose plutot étrange, étant donné que ca marche quand même. Et sous FF et son excelent deboggeur, je n'ai rien. Quelqu'un aurait une explication ?
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 6.0; fr; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9
Un petit code valant mieux qu'un grand discours, voici le code
Code : Tout sélectionner
function collision(obj)
{
var fils = document.getElementById("vacation").childNodes;
var nb_fils = fils.length;
var a_x=0;
var a_y=0;
var a_w=0;
var a_h;
var b_x=parseInt(obj.offsetLeft);
var b_y=parseInt(obj.offsetTop);
var b_w=parseInt(obj.offsetWidth);
var b_h=parseInt(obj.offsetHeight);
var test=null;
for(var i =(nb_fils-1) ; i>=0;i--)
{
if(fils[i].getAttribute("ID")!=obj.id)
{
test=el(fils[i].getAttribute("ID"));
a_x=parseInt(test.offsetLeft);
a_y=parseInt(test.offsetTop);
a_w=parseInt(test.offsetWidth);
a_h=parseInt(test.offsetHeight);
//collision de rectangle simple haut bas droite gauche
//simplifiée par la hauteur qui est fixe
//collision de hauteur
if(a_y==b_y)
{
//collision largeur collision de A sur b
if(a_x>b_x)
{
if(a_x<(b_x+b_w)){return true;}//gauche
} else
if((a_x+a_w)>b_x )
{
if((a_x+a_w)<(b_x+b_w)){return true;}//droite
}
//collision largeur collision e b sur a
if(b_x>a_x)
{
if(b_x<(a_x+a_w)){return true;}//gauche
} else
if((b_x+b_w)>a_x )
{
if((b_x+b_w)<(a_x+a_w)){return true;}//droite
}
}
}
}
return false;
}
la function est un truc tout bête de collision de boite, peu importe.
le probleme c'est que ie me met une erreur javascript sur
var b_x=parseInt(obj.offsetLeft); (sur offsetLeft plus précisement !)
chose plutot étrange, étant donné que ca marche quand même. Et sous FF et son excelent deboggeur, je n'ai rien. Quelqu'un aurait une explication ?
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 6.0; fr; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9