function InfoBoxAnzeigen(e,txt,offsetX,offsetY)
{
if (offsetX) {offsetx=offsetX;} else {offsetx=20;}
if (offsetY) {offsety=offsetY;} else {offsety=0;}
wenn du schon weiter unten eine einfache Entweder oder Abfrage benutzt warum nicht hier? bzw. warum überhaupt die neue Variabel?
if (!offsetX) offsetX=20;
if (!offsetY) offsetY=0;
var PositionX = 0;
var PositionY = 0;
if (!e) var e = window.event;
hier ist das var überflüssig, da ein Parameter sowieso nur lokal gültig ist.
text = document.getElementById("text").innerHTML;
text ? document.getElementById("text").innerHTML=null : document.getElementById("text").innerHTML=txt;
Den einfachen entweder Operator als if zu mißbrauchen ist zwar erlaubt, aber hier unschön und wenn du ihn richtig einsetzen würdest wäre es etwas übersichtlicher:
document.getElementById("text").innerHTML = document.getElementById("text").innerHTML ? null : txt
;
document.getElementById('infobox').style.left = (PositionX+offsetx);
document.getElementById('infobox').style.top = (PositionY+offsety);
Das funktioniert nur im Quirksmode, im Standardmode der immer zu empfehlen ist, fehlen die Einheiten.
document.getElementById('infobox').style.left = (PositionX+offsetX) +'px';
document.getElementById('infobox').style.top = (PositionY+offsetY) +'px';
<div id="infobox" style="position:absolute; margin-top: 45px; width: 525px;">
Ein absolut positioniertes Element mit margin zu positionieren ist ungeschickt.
<table bgcolor="#FFFFFF" cellpadding="4">
<tr>
<td><span id="text"></span></td>
</tr>
</table>
Wozu ist hier die Tabelle nötig?
Das ausblenden sollte auch ohne Probleme funktionieren, wobei ich statt visibility eher display verwenden würde.
Struppi.