JS ----  IE vs. Mozilla
    
		
    
       Nurmi  27.12.2002 - 18:50  1040  15 
    
		
		
  	
    
    
    
			
  
    
    Nurmi
    
      OC Addicted 
       
      
     
   | 
  
    
    
         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! 
       
      
     
   | 
  
    
     
         fehlen da nicht einfache Anführungszeichen ' bei den getElementById(Layer1) ??
     
    
    
    
    
    
   | 
  
    
    atrox
    
      in fairy dust... I trust! 
       
      
     
   | 
  
    
     
         btw.. sollten nicht beim zweiten if die hidden/visible vertauscht sein?
     
    
    
    
    
    
   | 
  
    
    Nurmi
    
      OC Addicted 
       
      
     
   | 
  
    
    
         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! 
       
      
     
   | 
  
    
     
         postest du das komplette beispiel, wo es auch einen layer 2 gibt ?
     
    
    
    
    
    
   | 
  
    
    Nurmi
    
      OC Addicted 
       
      
     
   | 
  
    
     
         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 
       
      
     
   | 
  
    
    
         na i bin dann aber gespannt was der fehler ist....  
     
    
    
    
    
    
   | 
  
    
    atrox
    
      in fairy dust... I trust! 
       
      
     
   | 
  
    
     
         du hast id=layer1 mehrfach vergeben - abgesehen davon geht es im IE 5.00 trotzdem.
     
    
    
    
    
    
   | 
  
    
    Nurmi
    
      OC Addicted 
       
      
     
   | 
  
    
    
         also i hob 6.0 und es funkt ned   
     
    
    
    
    
    
   | 
  
    
    Nurmi
    
      OC Addicted 
       
      
     
   | 
  
    
    
         hmmm lokal mit c:\.... funkts mit localhost/.... funkts ned - interessant   )) danke für deine Hilfe!
      
    
    
    
    
    
   | 
  
    
    atrox
    
      in fairy dust... I trust! 
       
      
     
   | 
  
    
     
         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 
       
      
     
   | 
  
    
    
         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! 
       
      
     
   | 
  
    
     
         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 
       
      
     
   | 
  
    
    
         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
    
      Legendundead
        
      
     
   | 
  
    
    
         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   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     
     
    
    
    
    
    
   |