Hi,
um für meine Webapplikation bei der ich Drag'n'Drop verwende muss ich eine Kollisionserkennung für vorgegebene Flächen programmieren, um zu erkennen, ob gerade gedraggte Objekte sich über ihr befinden. Dazu brauche ich für die entsprechenden Flächen die genauen Koordinaten und deren Maße. Jetzt ist mir aufgefallen, dass bei meiner dynamisch erzeugten Tabelle die Left-Werte überhaupt nicht stimmen. Irgendwie scheint er das alignment des calendar-divs völlig zu ignorieren. Noch dazu können die Top-Werte auch nicht so ganz stimmen, denn die obere Zelle ist sicher weiter als 3px vom oberen Rand Fensterrand entfernt.
Was mach ich falsch?
Im IE gehts garnicht! Da sagt er nur: nicht implementiert, Zeile 3 !?!?
lg PoWl
<html>
<head>
</head>
<body>
<div id="calendar" align="center"></div>
</body>
</html>
unterhalb des calendar-divs steht das script:
var temp = "<table border=1>";
for(var i=0; i<6; i++)
{
temp += "<tr>";
for(var j=0; j<7; j++)
{
temp += '<td id="calendar_cell'+(i*7+j)+'"></td>';
}
temp += "</tr>";
}
temp += "</table>";
document.getElementById('calendar').innerHTML = temp;
for(var i=0; i<42; i++)
{
var htmlObj = document.getElementById('calendar_cell'+i);
left = htmlObj.offsetLeft;
top = htmlObj.offsetTop;
width = htmlObj.offsetWidth;
height = htmlObj.offsetHeight;
htmlObj.innerHTML = "left: " + left + "<br>top: " + top + "<br>width: " + width + "<br>height: " + height;
}