TroyPan: Problem mit NS7 & Opera6 (Browsererkennung oder falscher Code?)

Hallo !

Ich hab da ein kleines Problem, naja ich denk mal das es net so groß ist ?:-/ aber ich steh auf der Leitung. Und zwar gets um dieses JavaScript hier http://www.vocs-computerservice.de/popaufboxjavascript.htm es funzt leider nicht mit Opera 6 und NS 7. Und ich bekomm es einfach nicht auf die Reihe.
Dieses Script soll ein div id="showimage" mit dynamischen div id="Anzeigefeld" Inhalt bei bedarf(onMouseover() den Link __machen__) sichtbar machen, was im IE auch wunderbar funktioniert. Im Opera wird dies zwar angezeigt, aber der Inhalt fehlt. Diesen Inhalt bekommt div id="Anzeigefeld" in der Funktion visiblebox(). Ich denke mal hier müsste das Problem am Code liegen den Opera scheinbar nicht versteht. *grübel* Da er ja wenigstens die Box sichtbar macht.
Beim NS7 tippe ich mal auf die Browserkennung des Scrites, denn er zeigt noch nicht mal die Box an.

Ich habe dieses Script in etwas abgewandelter Form einer JavaScript Seite entnommen, und kenne den Autor leider nicht, sonst hätte ich ihn mal nach einem Lösungstip befragt. Des weiteren bin ich noch keine JavaScriptCodeKorrifäe und begnüge mich derzeit noch damit bestehende Scripts zu verstehen und nach Bedarf zu erweitern.
Ich hoffe ihr habt ein paar Tipps für mich parat, damit ich hier etwas weiter komme.
Besten Dank schon mal für eure Anstrengungen.
Troy

Hier noch mal der Code zum Reinlesen:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Unbenanntes Dokument</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<script language="JavaScript1.2">

var gastro=new Array()

gastro[0]='<tabel width="200" bordercolor="#FFFFFF" border="0" cellspacing="0" cellpadding="0" align="center"><tr><td><div>Gastronomie-Details</div></td><td> </td></tr>'
 gastro[0]+='<tr><td width="170"><div>In der Unterkunft: </td><td width="30"><b>5</b></div></td></tr>'
 gastro[0]+='<tr><td><div >In der Umgebung: </td><td><b>3</b></div></td></tr>'
 gastro[0]+='<tr><td><div>Gatro-Tip: </td><td><b>6</b></div></td></tr></tabel>'

//Popup Box- By Jim Silver @ jimsilver47@yahoo.com

var ns4=document.layers
var ie4=document.all
var ns6=document.getElementById&&!document.all
var Ausgabe=""

//drag drop function for NS 4////
/////////////////////////////////

var dragswitch=0
var nsx
var nsy
var nstemp

function drag_dropns(name){
if (!ns4)
return
temp=eval(name)
temp.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP)
temp.onmousedown=gons
temp.onmousemove=dragns
temp.onmouseup=stopns
}

function gons(e){
temp.captureEvents(Event.MOUSEMOVE)
nsx=e.x
nsy=e.y
}
function dragns(e){
if (dragswitch==1){
temp.moveBy(e.x-nsx,e.y-nsy)
return false
}
}

function stopns(){
temp.releaseEvents(Event.MOUSEMOVE)
}

//drag drop function for ie4+ and NS6////
/////////////////////////////////

function bew(){
crossobj=ns6? document.getElementById("showimage") : document.all.showimage
AusDat=ns6? document.getElementById("Anzeigefeld") : document.all.Anzeigefeld
}

function drag_drop(e){
if (ie4&&dragapproved){
crossobj.style.left=tempx+event.clientX-offsetx
crossobj.style.top=tempy+event.clientY-offsety
return false
}
else if (ns6&&dragapproved){
crossobj.style.left=tempx+e.clientX-offsetx
crossobj.style.top=tempy+e.clientY-offsety
return false
}
}

function initializedrag(e){
crossobj=ns6? document.getElementById("showimage") : document.all.showimage

var firedobj=ns6? e.target : event.srcElement
var topelement=ns6? "HTML" : "BODY"

while (firedobj.tagName!=topelement&&firedobj.id!="dragbar"){
firedobj=ns6? firedobj.parentNode : firedobj.parentElement
}

if (firedobj.id=="dragbar"){
offsetx=ie4? event.clientX : e.clientX
offsety=ie4? event.clientY : e.clientY

tempx=parseInt(crossobj.style.left)
tempy=parseInt(crossobj.style.top)

dragapproved=true
document.onmousemove=drag_drop
}
}
document.onmousedown=initializedrag
document.onmouseup=new Function("dragapproved=false")

////drag drop functions end here//////

function hidebox(){
if (ie4||ns6)
crossobj.style.visibility="hidden"
else if (ns4)
document.showimage.visibility="hide"
}

function visiblebox(Daten){
 if (ie4||ns6) {

crossobj.style.left=+event.clientX
 crossobj.style.top=+event.clientY

crossobj.style.visibility="visible"
 AusDat.innerHTML=Daten

} else {
  if (ns4) {
   document.showimage.visibility="visible"
   document.AusDat.innerHTML=Daten
  }

}
}
</script>

<body onload="bew();hidebox();return false">

<div id="showimage" style="position:absolute;width:250px;left:250;top:250">

<table border="0" width="250" bgcolor="#000080" cellspacing="0" cellpadding="2">
  <tr>
    <td width="100%"><table border="0" width="100%" cellspacing="0" cellpadding="0"
    height="36">
      <tr>
        <td id="dragbar" style="cursor:hand" width="100%">
        <ilayer width="100%" onSelectStart="return false">
        <layer width="100%" onMouseover="dragswitch=1;if (ns4) drag_dropns(showimage)" onMouseout="dragswitch=0"><font face="Verdana"
        color="#FFFFFF"><strong><small>PopUp Box</small></strong></font></layer></ilayer></td>
        <td style="cursor:hand" valign="middle"><a href="#" onClick="hidebox();return false"><b><font color="#f5f5f5">x</font></b></a></td>
      </tr>
      <tr>
        <td width="100%" bgcolor="#FFFFFF" style="padding:4px" colspan="2">

<div id="Anzeigefeld"></div>
<!-- Inhalt ---->

Das ist der geniale Inhalt der PopUp Box. Einfach dieses Teil mit
der Maus ziehen..

<!-- Inhalt----->

</td>
      </tr>
    </table>
    </td>
  </tr>
</table>
</div>

<a href="#" onMouseOver="visiblebox(gastro[0]);return false" onMouseOut="hidebox();return false"><b>__machen__</b></a>

</body>
</html>

  1. Hallo!

    [...]

    Was hast Du mit diesem Script vor? Was soll es tun? Ist das eine Drag&Drop-Sache? Oder soll da nur was in ein Layer gepackt werden?

    MfG, André Laugks

    --
    L-Andre @ gmx.de
    1. Hallo !

      Was hast Du mit diesem Script vor? Was soll es tun? Ist das eine Drag&Drop-Sache? Oder soll da nur was in ein Layer gepackt werden?

      Primär soll etwas in einen Layer gepackt werden, der dann an einer bestimmten Position erscheint. Und als nützliche Nebensächlichkeit wäre eine Drag&Drop-Sache sehr produktiv. Und wenn das alles auch noch brauchbar in NS,IE und Opera fuzt ist es perfekt :-)