JS ---- IE vs. Mozilla

Seite 1 von 2 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/js_ie_vs_mozilla_60546/page_1 - zur Vollversion wechseln!


Nurmi schrieb am 27.12.2002 um 18:50

hab ein primitives script für layer hidden/show geschrieben.
Es funkt super im Mozilla ABER im IE zeigt er den zu zeigenden Layer immer nur ganz kurz und dann blendet er wieder auf den Layer der von anfang an gezeigt wird...
Versteh ich nicht weils ja im Mozilla einwandfrei funkt....
kann mir da wer helfen?

AUFRUF
<a onClick="ShowLayer('Layer1');" href="#">Layer1</a>
<a onClick="ShowLayer('Layer2');" href="#">Layer2</a>

METHODE:
function ShowLayer(LayerNr) {
if (LayerNr == 'Layer1'){
document.getElementById('Layer2').style.visibility = 'hidden';
document.getElementById(LayerNr).style.visibility = 'visible';
}
if (LayerNr == 'Layer2'){
document.getElementById('Layer1').style.visibility = 'hidden';
document.getElementById(LayerNr).style.visibility = 'visible';}
}
}//end

LAYER
<div id="Layer1" style="position:absolute; left:356px; top:195px; width:530px; height:460px; z-index:1; background-color:#9999CC; layer-background-color:#9999CC; border: 1px none #000000">


ka warum das ned funkt :((((


atrox schrieb am 27.12.2002 um 19:36

fehlen da nicht einfache Anführungszeichen ' bei den getElementById(Layer1) ??


atrox schrieb am 27.12.2002 um 19:37

btw.. sollten nicht beim zweiten if die hidden/visible vertauscht sein?


Nurmi schrieb am 27.12.2002 um 19:41

diese fehler sind nicht der grund - waren übertragungsfehler also abschreibfehler - funkt im IE noch immer nicht :( im Mozilla einwandfrei :( *heul*


atrox schrieb am 27.12.2002 um 19:46

postest du das komplette beispiel, wo es auch einen layer 2 gibt ?


Nurmi schrieb am 27.12.2002 um 20:13

bitte einfach copy pasten und ausprobieren um IE....


<html>
<head>
<script language="JavaScript">
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function showHideLayers(LayerNr) {
if (LayerNr == 'Layer1'){
document.getElementById('Layer2').style.visibility = 'hidden';
document.getElementById('Layer3').style.visibility = 'hidden';
document.getElementById('Layer4').style.visibility = 'hidden';
document.getElementById(LayerNr).style.visibility = 'visible';
}
if (LayerNr == 'Layer2'){
document.getElementById('Layer1').style.visibility = 'hidden';
document.getElementById('Layer3').style.visibility = 'hidden';
document.getElementById('Layer4').style.visibility = 'hidden';
document.getElementById(LayerNr).style.visibility = 'visible';
}
if (LayerNr == 'Layer3'){
document.getElementById('Layer1').style.visibility = 'hidden';
document.getElementById('Layer2').style.visibility = 'hidden';
document.getElementById('Layer4').style.visibility = 'hidden';
document.getElementById(LayerNr).style.visibility = 'visible';
}
if (LayerNr == 'Layer4'){
document.getElementById('Layer1').style.visibility = 'hidden';
document.getElementById('Layer2').style.visibility = 'hidden';
document.getElementById('Layer3').style.visibility = 'hidden';
document.getElementById(LayerNr).style.visibility = 'visible';
}
}

// -->
</script>
</head>
<body bgcolor="#00CCCC" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<div id="Layer1" style="position:absolute; left:356px; top:195px; width:530px; height:460px; z-index:1; background-color:#9999CC; layer-background-color:#9999CC; border: 1px none #000000">
<blockquote>
<p><font size="+1"><b>Willkommen</b></font></p>
<p> </p>
<p><br>
WillkommenWillkommenWillkommenWillkommenWillkommen
sdfsdfsdfsdfsdsdfsd </p>
<p> </p>
<p>  </p>
</blockquote>
</div>
<table width="915" border="0" height="640" align="left">
<tr>
<td height="964"><br>
<br>
<br>
<table width="100%" border="0" height="550" align="center">
<tr>
<td valign="top">
<p><b><font size="+2">Wir über uns:</font></b></p>
<ul>
<li><font size="+1"><b> <a onClick="showHideLayers('Layer1');" href="#">Willkommen</a></b></font></li>
<li><b><font size="+1"> <a onClick="showHideLayers('Layer2');" href="#">Verständnis</a></font></b></li>
<li><b><font size="+1"><a onClick="showHideLayers('Layer3');" href="#">Angebote</a></font></b></li>
<li><b><font size="+1"><a onClick="showHideLayers('Layer4');" href="#">Finanzielles</a></font></b>
</li>
</ul>
<div id="Layer1" style="position:absolute; left:356px; top:195px; width:530px; height:460px; z-index:1; background-color:#9999CC; layer-background-color:#9999CC; border: 1px none #000000">
<blockquote>
<p><font size="+1"><b>Willkommen</b></font></p>
<p> </p>
<p><br>
Wsdfdsfsdf fs fsffsdfsfsdf sdfsd fsdfds </p>
<p> </p>
<p>  </p>
</blockquote>
</div>
<div id="Layer2" style="position:absolute; left:356px; top:195px; width:530px; height:460px; z-index:1; background-color:#9999CC; layer-background-color:#9999CC; border: 1px none #000000">
<blockquote>
<p><font size="+1"><b>Verständnis</b></font></p>
<p> </p>
<p>n zahlreichen Möglichkeiten, inmitten der Natur aktiv
zu werden (Spielen im </p>
<p> </p>
<p> </p>
<p> </p>
<p>Wald, Radfahren, Laufen...) oder sich auf unseren Außenanlagen
sportlich zu </p>
<p>sdfsdfsdfdfsd ff sdfsdfsd df sd </p>
<p> </p>
<p>  </p>
</blockquote>
</div>
<div id="Layer3" style="position:absolute; left:356px; top:195px; width:530px; height:460px; z-index:1; background-color:#9999CC; layer-background-color:#9999CC; border: 1px none #000000">
<blockquote>
<p><font size="+1"><b>Angebote</b></font></p>
<p> </p>
<p><font size="+1"><b>Angebote</b></font><font size="+1"><b>Angebote</b></font><font size="+1"><b>Angebote</b></font><font size="+1"><b>Angebote</b></font><font size="+1"><b>AngebAngebote</b></font>.
</p>
<p> </p>
<p>  </p>
</blockquote>
</div>
<div id="Layer4" style="position:absolute; left:356px; top:195px; width:530px; height:460px; z-index:1; background-color:#9999CC; layer-background-color:#9999CC; border: 1px none #000000">
<blockquote>
<p><font size="+1"><b>Angebote</b></font></p>
<p> </p>
<p><font size="+1"><b>sdfdsfsfdfdsf sd fsdfs fs fsfsf fd</b></font>.
</p>
<p> </p>
<p>  </p>
</blockquote>
</div>
<p> </p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>


Nurmi schrieb am 27.12.2002 um 20:17

na i bin dann aber gespannt was der fehler ist....:)


atrox schrieb am 27.12.2002 um 20:43

du hast id=layer1 mehrfach vergeben - abgesehen davon geht es im IE 5.00 trotzdem.


Nurmi schrieb am 27.12.2002 um 21:13

also i hob 6.0 und es funkt ned :(


Nurmi schrieb am 27.12.2002 um 21:16

hmmm lokal mit c:\.... funkts
mit localhost/.... funkts ned - interessant :)))

danke für deine Hilfe!


atrox schrieb am 27.12.2002 um 22:54

für deine anwendung solltest du dir vielleicht iframes überlegen - die haben bei bedarf auch scroll-balken und die sub-seiten sind einfacher zu warten, weil sie in eigenen dateien sind.


Nurmi schrieb am 27.12.2002 um 22:59

nönö des san nur 4 layers und da ändert sich eh nie was außerdem hasse ich layers aber wenns verlangt werden ;)


atrox schrieb am 27.12.2002 um 23:13

hab jetzt (leider?) kein ie60 zum testen... aber mit ie55 gehts auch - hast du schon den Layer1-bug ausgebessert ?

btw.. der code würde so netter aussehen:

function showHideLayers(LayerName) {
for (x=1;x<5;x++)
document.getElementById('Layer'+x).style.visibility = 'hidden';

document.getElementById(LayerName).style.visibility = 'visible';
}

ahh.. jetzt wo ich den code sehe... argl..
versuch doch statt style.visibility doch lieber style.display='none'; bzw.. 'block'... visibility ist eigentlich noch aus NS40 zeiten.
also im klartext:

function showHideLayers(LayerName) {
for (x=1;x<5;x++)
document.getElementById('Layer'+x).style.display = 'none';

document.getElementById(LayerName).style.display = 'block';
}


Nurmi schrieb am 28.12.2002 um 10:43

hehe ich nehme einfach mal an daß sich das JS weigert am localen testserver zu funken :) - und sei froh daßt den IE 6.0 ned hast der nervt eh nur aber downgrade geht halt nicht :(


watchout schrieb am 28.12.2002 um 16:43

Zitat von Nurmi
hehe ich nehme einfach mal an daß sich das JS weigert am localen testserver zu funken :) - und sei froh daßt den IE 6.0 ned hast der nervt eh nur aber downgrade geht halt nicht :(
hmm - ich bezweifle dass du eine ahnung hast wovon du redest... javascripts habn nix mit dem server zu tun...

@atrox: wollt ich auch grad vorschlagen - beides :D

ps: das vom nurmi (das komplette...) geht bei mir ohne mucken unter ie6.0 sowohl ohne webserver als auch mit

pps: iframes sind net nur wegen der leichteren wartung besser - sondern sie würden auch ohne javascript funktn :eek: :eek:




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025