"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

JS ---- IE vs. Mozilla

Nurmi 27.12.2002 - 18:50 893 15
Posts

Nurmi

OC Addicted
Avatar
Registered: Jun 2000
Location: Linz (Hauptplatz..
Posts: 810
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 :((((
Bearbeitet von Nurmi am 27.12.2002, 19:40

atrox

in fairy dust... I trust!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
fehlen da nicht einfache Anführungszeichen ' bei den getElementById(Layer1) ??

atrox

in fairy dust... I trust!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
btw.. sollten nicht beim zweiten if die hidden/visible vertauscht sein?

Nurmi

OC Addicted
Avatar
Registered: Jun 2000
Location: Linz (Hauptplatz..
Posts: 810
diese fehler sind nicht der grund - waren übertragungsfehler also abschreibfehler - funkt im IE noch immer nicht :( im Mozilla einwandfrei :( *heul*

atrox

in fairy dust... I trust!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
postest du das komplette beispiel, wo es auch einen layer 2 gibt ?

Nurmi

OC Addicted
Avatar
Registered: Jun 2000
Location: Linz (Hauptplatz..
Posts: 810
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

OC Addicted
Avatar
Registered: Jun 2000
Location: Linz (Hauptplatz..
Posts: 810
na i bin dann aber gespannt was der fehler ist....:)

atrox

in fairy dust... I trust!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
du hast id=layer1 mehrfach vergeben - abgesehen davon geht es im IE 5.00 trotzdem.

Nurmi

OC Addicted
Avatar
Registered: Jun 2000
Location: Linz (Hauptplatz..
Posts: 810
also i hob 6.0 und es funkt ned :(

Nurmi

OC Addicted
Avatar
Registered: Jun 2000
Location: Linz (Hauptplatz..
Posts: 810
hmmm lokal mit c:\.... funkts
mit localhost/.... funkts ned - interessant :)))

danke für deine Hilfe!

atrox

in fairy dust... I trust!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
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

OC Addicted
Avatar
Registered: Jun 2000
Location: Linz (Hauptplatz..
Posts: 810
nönö des san nur 4 layers und da ändert sich eh nie was außerdem hasse ich layers aber wenns verlangt werden ;)

atrox

in fairy dust... I trust!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
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

OC Addicted
Avatar
Registered: Jun 2000
Location: Linz (Hauptplatz..
Posts: 810
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

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
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:
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz