beneball
Goto Top

Brauche Unterstützung bei einem Javascript in HTML

Toggle Funktion

Ich verwende im moment folgenden code.
<html>
<head>
<title>Beispiel</title>
<script type="text/javascript">  
<!--
function toggle(link,divId){
var lText=link.innerHTML;
var d=document.getElementById(divId);
if(lText=='Mehr Lesen'){ 
link.innerHTML='Ansicht schließen'; 
d.style.display='block'; 
}
else{
link.innerHTML='Mehr Lesen'; 
d.style.display='none'; 
}
}
//-->
</script>
</head>
<body onload="toggle(document.getElementById('l1'),'box1')">  
<!--Box 1-->
<font face="Arial">  
Hochschulprojekt [<a title="hide/show" id="l1" href="#" onClick="toggle(this,'box1');" style="text-decoration:none;">'Ansicht schließen</a>]  
<div id="box1" style="padding:3px;">  
<iframe height="100%" width="100%" src="./media/Hochschule.pdf"></iframe>  
</div></div>
</font>
</body>
</html>

Jetzt will ich aber aber 3 dieser "öffnen" bereiche machen (toggle)
aber ich bekomme es nicht hin
kann mir bitte jemand helfen ich muss es bis morgen für die schule haben
danke!

Content-Key: 90745

Url: https://administrator.de/contentid/90745

Printed on: April 27, 2024 at 17:04 o'clock

Member: Arano
Arano Jun 26, 2008 at 19:02:50 (UTC)
Goto Top
Nabend benebal,

da du keine genaueren Angaben zu deinem Problem niederschriebst und es sich wohl um eine Hausaufgabe handelt, kann man natürlich nicht so viel lösen bzw. funktionierendes präsentieren.

Aber erstens, wenn man den Quelltext um ein paar Leerzeichen einrückt wird er viel lesbarer - und sei es nur ein Leerzeichen, reicht völlig.
Und zweitens, du hast da im obigem Quelltext in Zeile 27 zwei __schließende__ <div>-Tags obwohl nur eines geöffnet wird.

Wenn das noch nicht hilft... schildere noch mal genauer wie es aussieht und was nicht funktioniert, ect.

~Arano
Member: beneball
beneball Jun 26, 2008 at 19:25:13 (UTC)
Goto Top
Habe es jetzt hinbekommen =)
mit dem Code
<html>
<head>
<title>Beispiel</title>
<script type="text/javascript">  
<!--
function toggle(link,divId){
var lText=link.innerHTML;
var d=document.getElementById(divId);
if(lText=='Mehr Lesen'){ 
link.innerHTML='Ansicht schließen'; 
d.style.display='block'; 
}
else{
link.innerHTML='Mehr Lesen'; 
d.style.display='none'; 
}
}
//-->
</script>
</head>
 <body onload="toggle(document.getElementById('l1'),'box1')">  
 <!--Box 1-->
 <font face="Arial">  
  Hochschulprojekt [<a title="hide/show" id="l1" href="#" onClick="toggle(this,'box1');" style="text-decoration:none;">Ansicht schließen</a>]  
  <div id="box1" style="padding:3px;">  
   <iframe height="100%" width="100%" src="./media/Hochschule.pdf"></iframe>  
  </div>
 <br>
 <!--Box 2-->
 <font face="Arial">  
  Stadt Mannheim investiert 50.000Euro in neue Fr&auml;smaschinenen [<a title="hide/show" id="l2" href="#" onClick="toggle(this,'box2');" style="text-decoration:none;">Ansicht schließen</a>]  
  <div id="box2" style="padding:3px;">  
   <iframe height="100%" width="100%" src="./media/Fraesmaschinen.pdf"></iframe>  
  </div>
 <br>
 <!--Box 3-->
 <font face="Arial">  
  Wir machen Azubinen stark! [<a title="hide/show" id="l3" href="#" onClick="toggle(this,'box3');" style="text-decoration:none;">Ansicht schließen</a>]  
  <div id="box3" style="padding:3px;">  
   <iframe height="100%" width="100%" src="./media/azubinen.pdf"></iframe>  
  </div>
</font>
</body>
</html>

jetzt ist nur noch die frage wie ich es hinbekomme das alle drei boxen am anfang zu sind
Member: Arano
Arano Jun 26, 2008 at 19:57:33 (UTC)
Goto Top
Habe es jetzt hinbekommen =)
Na super face-smile

jetzt ist nur noch die frage wie ich es hinbekomme das alle drei boxen am anfang zu sind
Schau dir mal die Zeile 21 an ;)

Ähm... in den Zeilen 23, 30 und 37 öffnest du einen <font>-Tag, es wird aber nur einer geschlossen.

Schönen Abend noch,
Arano
Member: beneball
beneball Jun 26, 2008 at 20:13:37 (UTC)
Goto Top
die fonts mach ich zu. ^^ aber wie kann ich denn noch die andern beiden boxen in die 21. zeile machn? mit komma oder so?
vielen vielen dank du hast mich echt gerettet!
Member: Arano
Arano Jun 26, 2008 at 20:24:29 (UTC)
Goto Top
aber wie kann ich denn noch die andern beiden boxen in die 21. zeile machn? mit komma oder so?
Ahja, okay...

...trennen könntest du sie mit einem Semikolon (;) aber ich Poste dir mal das was ich aus deinem erstem Quelltext gemacht habe __bevor__ ich sah das es eine Hausaufgabe ist ^^
Da du es ja jetzt soweit selber gelöst hast passt das schon.
Da sind jetzt nur zwei Boxen drin und ist etwas anders aufgebaut aber es enthält die Lösung zu deiner Frage zur Zeile 21
<html>
 <head>
  <title>Beispiel</title>
  <script type="text/javascript">  
   <!--
    function toggle(link,divId){
     var lText=link.innerHTML;
     var d=document.getElementById(divId);
     if(lText=='Mehr Lesen'){  
      link.innerHTML='Ansicht schließen';  
      d.style.display='block';  
      }
      else{
       link.innerHTML='Mehr Lesen';  
       d.style.display='none';  
       }
      }
    function init(){
     toggle(document.getElementById('l1'),'box1');  
     toggle(document.getElementById('l2'),'box2');  
     }
   //-->
  </script>
 </head>
 <body onload="init()">  
 
  <!--Links-->
  <font face="Arial">  
   Hochschulprojekt [<a title="hide/show" id="l1" href="javascript:void(0);" onClick="toggle(this,'box1');" style="text-decoration:none;">Ansicht schließen</a>]<br>  
   Hochschulprojekt [<a title="hide/show" id="l2" href="javascript:void(0);" onClick="toggle(this,'box2');" style="text-decoration:none;">Ansicht schließen</a>]  
  </font>
  
  <!--Box 1-->
  <div id="box1" style="padding:3px;">  
   <iframe height="100%" width="100%" src="http://www.google.de"></iframe>  
  </div>
  <!--Box 2-->
  <div id="box2" style="padding:3px;">  
   <iframe height="100%" width="100%" src="http://www.google.de"></iframe>  
  </div>
  
 </body>
</html>
vielen vielen dank du hast mich echt gerettet!
Gern geschehen, aber den Hauptteil hast du ja gemacht :D

~Tobias
Member: beneball
beneball Jun 26, 2008 at 20:34:43 (UTC)
Goto Top
10000dank nochmal ohne dich hätte ichs ned hinbekommen
ciao