Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
06.06.2005, 15:40
Tomz



Hallo. Ich habe da so ein problem. Ich muss eine Art Popup für eine Seite machen. Man kann über verschiedene Ebenen fahren mit der Maus. Wenn man einen Mouseover macht, dann wird die Z-Visibility eines bestimmten Divisions auf 10000 gesetzt, beim mouse out auf -1000000.

das mit der visibility wird mit css geregelt, doch damit die klassen (bzw. id's) ausgetauscht werden, benötige ich javascript. Eigentlich hat alles schön und gut geklappt, doch dann habe ich irgendwie im affekt den internetexplorer geöffnet. und ich war geschockt. Dieser verdammte IE frisst meinen JS Code nicht...

Ich war jetzt schon eine weile dran, aber hab immer noch nicht herausgefunden warum. hab zwar erst vor kurzem angefangen vermehrt mit js zu arbeiten, aber ich habe auf selfhtml und google gesucht und trotzdem keine lösung gefunden.

jetzt habe ich dieses Teil, das ich machen muss mal ganz vereinfacht nachgebaut und siehe da, es spinnt immer noch im Internet Explorer.

hier der code:
Quellcode:<style type="text/css">
.main
{
    background: #000000;
    width: 100%;
    height: 100%;
}
.hidden
{
    position: relative;
    z-index: -10000000;
    background: #ffffff;
}
.visible
{
    position: relative;
    z-index: 10000000;
    background: #ffffff;
}
#button
{
    background: #000000;
    border: solid 1px #ffffff;
    color: #ffffff;
    margin-right: 5px;
    float: left;
    padding-left: 5px;
    padding-right: 5px;
}

</style>
<script type="text/javascript">
function show(nr)
{
    var teil = document.getElementsByName("d"+nr)[0];
    teil.className = "visible";
}
function hide(nr)
{
    var teil = document.getElementsByName("d"+nr)[0];
    teil.className = "hidden";    
}
</script>

<div class="main">
<div class="hidden" name="d1">Bla bla</div>
<div class="hidden" name="d2">Yada yaday</div>
<div class="hidden" name="d3">Descht</div>
<div class="hidden" name="d4">Tschegg</div>

<div id="button" onmouseover="show(1)" onmouseout="hide(1)">Show 1</div>
<div id="button" onmouseover="show(2)" onmouseout="hide(2)">Show 2</div>
<div id="button" onmouseover="show(3)" onmouseout="hide(3)">Show 3</div>
<div id="button" onmouseover="show(4)" onmouseout="hide(4)">Show 4</div>

</div>
Mit Firefox funktionierts, ie blöckt wieder. Hat irgend jemand einen Schimmer woran das es liegen könnte? der JS von IE sagt, dass die Funktionen show und hide nicht ganz korrekt sind, aber ich sehe den fehler nicht....

vielen dank für die Hilfe

--

...denn das atombrot wird nicht ruhen bis es den letzten erwischt hat...


Dieser Beitrag wurde am 06.06.2005 um 15:43 von Tomz bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
001
06.06.2005, 18:28
K-Putt



Warum musst du das mit getElementsByName machen?

Gib den DIV Tags die jetzt den namen d1...d4 haben, einfach mal die ID d1...d4.

Dann änderst du deine funktionen so ab:

Quellcode:var teil = document.getElementById("d"+nr);
teil.className = "hidden"; //oder teil.className = "visible";
Dann sollte auch der IE damit klarkommen.

Einen Fehler hast du allerdings noch in deinem Code: Du hast mehreren DIV-Tags die ID "button" gegeben, das ist so falsch, weil eine ID immer eindeutig sein muss.

[edit]
Um Elemente zu verstecken, musst du sie übrigens nicht weit "hinter" den Screen befördern o_O

Mit
Quellcode:var teil = document.getElementById("d"+nr);
teil.style.display = "block"; // oder display="none"
würde das ebenso funktionieren, aber der Code wäre kürzer.

--

Rambo Engineer @ Drippy's 2fort - finest TFC 1.5 || Bild Upload || The world's most advanced open source database


Dieser Beitrag wurde am 06.06.2005 um 18:30 von K-Putt bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
002
06.06.2005, 19:39
Tomz



hmm, das wäre nen versuch wert. danke, probiers gleich mal aus, wenn ich wieder an meinem arbeitsplatz bin.

--

...denn das atombrot wird nicht ruhen bis es den letzten erwischt hat...

zum Seitenanfang zum Seitenende Profil || Suche
003
06.06.2005, 20:51
theDon



`visibility = hidden' sollte auch funktionieren.

http://www.w3schools.com/css/pr_class_visibility.asp

--

\o tanz den naziprau! o/

And more than ever, I hope to never fall,
Where enough is not the same it was before

zum Seitenanfang zum Seitenende Profil || Suche