nemoinho: Bei aufeinanderprallen von zwei Divs fenster öffnen

Beitrag lesen

var div1 = document.all.div1.offsetTop;
var div1 = document.all.div1.offsetLeft;
var div12 = document.all.div1.offsetTop + 10;
var div12 = document.all.div1.offsetTop + 10;

wenn dein code auch im safari funktionieren soll, solltest du DOM-code verwenden und die abfrage so machen:

var div1 = document.getElementById('div1').offsetTop;

außerdem frage ich mich, warum du die variable erstens zweimal deklarierst und zweitens überschreibst, ohne sie zu verwenden...

Wie mache ich jetzt einen richtigen vergleich ob das bewegliche Div innerhalb der beiden (bzw. 4 Punkten) ist?

ich würde ganz allgemein eine kleine funktion dafür schreiben:

  
var vergleicheposition = function(div1, div2){  
  var position = function(div){  
    var top = left = 0;  
    while(div.nodeName != 'BODY'){  
      top += div.offsetTop*1;  
      left += div.offsetLeft*1;  
      div = div.parentNode;  
    }  
    return {top:top,left:left};  
  };  
  div1 = position(div1);  
  div2 = position(div2);  
  return (div1.top == div2.top && div1.left == div2.left);  
}

die funktion gibt true zurück, wenn sich die, linke, obere, Ecke der beiden eingabe-divs direkt übereinander befindet, ansonsten gibt es false;

mfG Felix Nehrke

P.S.: Besuche unseren Blog:  http://www.pommes-blog.de

--
Manchmal gibs was neues :)
fo:| ch:| rl:( br:> n4:? ie:( va:) de:> zu:) fl:( ss:| ls:[ js:)