Bei klick den Inhalt wechseln

Hi,

die Elemente mit den entsprechenden Inhalten sind bereits im Dokument enthalten, aber noch nicht sichtbar. Beim entsprechenden Klick wird der Container eingeblendet.

In den Webmaster-FAQ gibt es eine Anleitung, wie Ebenen ein- und ausgeblendet werden können.

Ciao
Quaese
 
Hi
danke für deine Antwort.
ich werde mir das sofort durchlesen und es dann versuchen.
Ich hoffe du stehst mir für weitere Fragen zur Verfügung.
Danke
 
Hi
Danke ich hab den Code jetzt verwendet und es funktoniert auch super, aber ich will keine Links sondern chechboxen verwenden und eine Checkbox ist auch schon auf checked gesetzt, jedoch sieht man ihren Inhalt nicht, erst wenn man nochmal draufklickt.
Kann mir da bitte jemand helfen?
Thx
 
Hallo,

Hi
Danke ich hab den Code jetzt verwendet und es funktoniert auch super, aber ich will keine Links sondern chechboxen verwenden und eine Checkbox ist auch schon auf checked gesetzt, jedoch sieht man ihren Inhalt nicht, erst wenn man nochmal draufklickt.
Kann mir da bitte jemand helfen?
Thx
Meinst du mit "Inhalt" das Value der Checkbox?

In diesem Fall:

Der HTML-Code für die Checkbox:
HTML:
<input type="checkbox" name="checkbox1" value="Inhalt Checkbox" id="checkbox" onChange="checkbox_change();">

Der HTML-Code für die Anzeige des Inhalts der Checkbox (falls du einen anderen Inhalt gemeint hast, schreib es dann):
HTML:
<div id="inhalt_anzeige">Inhalt Checkbox<!--(das, was in der Checkbox als Value drinsteht, oder eben der Inhalt, den du dann anzeigen willst)--></div>

Und der Javascript Code (hier wird der Inhalt angezeigt, wenn die Checkbox beim Ändern gecheckt ist):
HTML:
<script type="text/javscript">
function checkbox_change()
{
      var checkbox = document.getElementById("checkbox");
      var inhalt_anzeige = document.getElementById("inhalt_anzeige");
      if ( checkbox.checked == true )
      {
            inhalt_anzeige.style.display = "block";
      }
      else
      {
            inhalt_anzeige.style.display = "none";
      }
}
</script>

MfG
Fabsch
 
Hi
Danke, aber noch 2 Fragen und zwar:
1, Wie kann ich machen, dass immer nur eine Checkbox "gecheckt" sein kann.
2, Dass nur der Inhalt der "aktivierten" Checkbox angezeigt wird.
thx
 
Hallo,

Hi
Danke, aber noch 2 Fragen und zwar:
1, Wie kann ich machen, dass immer nur eine Checkbox "gecheckt" sein kann.
2, Dass nur der Inhalt der "aktivierten" Checkbox angezeigt wird.
thx

1.: Also, dass wenn eine gecheckt ist und man eine andere anklickt, dass die andere wieder "ungecheckt" wird?
Dazu die Checkbox wieder (die ID muss bei jeder Checkbox anders sein, was auch bei dem onChange-Event geändert werden muss (onChange="checkbox_change('id_der_checkbox');")):
HTML:
<input type="checkbox" name="checkbox1" value="Inhalt Checkbox" id="checkbox" onChange="checkbox_change('checkbox1', 'inhalt1');">

HTML:
<script type="text/javscript">
var last_checked = "";
var last_inh = "";
function checkbox_change(id_chk, id_inh)
{
      var checkbox = document.getElementById(id_chk);
      var inhalt_anzeige = document.getElementById(id_inh);
      if ( checkbox.checked == true )
      {
            inhalt_anzeige.style.display = "block";
            if ( last_open != "" )
            {
                  document.getElementById(last_checked).checked = false;
                  document.getElementById(last_inh).style.display = "none";
                  last_checked = "";
                  last_inh = "";
            }
            last_checked = id_chk;
            last_inh = id_inh;
      }
      else
      {
            inhalt_anzeige.style.display = "none";
      }
}
</script>

Ich hoffe das ist jetzt auch richtig, denn ich habe leider im Moment nicht mehr viel Zeit :)
Falls etwas nicht geht, schreib es dann einfach, ich verbessere morgen dann alles (das kann auch heute noch jemand anderes verbessern ;) )!

MfG
Fabsch

EDIT: das Script geht für beide Fragen ;)
 
Zuletzt bearbeitet:
Hi
Danke erstmal für deine Hilfe..
Ich hab das jetzt eingebaut, doch irgendwie funktoniert das nicht, ich weiß einfach nicht warum...
Hier mein Code:

HTML:
				<input type="checkbox" name="checkbox1" value="tmobile1" id="checkbox" onChange="checkbox_change('checkbox1', 'tmobile1');" checked="checked"> T-Mobile Relax 100 60/1 
				<input type="checkbox" name="checkbox2" id="checkbox" onChange="checkbox_change('checkbox2', 'tmobile2');" value="tmobile2"> T-Mobile Relax 200 60/1

HTML:
<script type="text/javscript">
var last_checked = "";
var last_inh = "";
function checkbox_change(id_chk, id_inh)
{
      var checkbox = document.getElementById(id_chk);
      var inhalt_anzeige = document.getElementById(id_inh);
      if ( checkbox.checked == true )
      {
            inhalt_anzeige.style.display = "block";
            if ( last_open != "" )
            {
                  document.getElementById(last_checked).checked = false;
                  document.getElementById(last_inh).style.display = "none";
                  last_checked = "";
                  last_inh = "";
            }
            last_checked = id_chk;
            last_inh = id_inh;
      }
      else
      {
            inhalt_anzeige.style.display = "none";
      }
}
</script>

HTML:
<div id="tmobile1">
	<table width="300" border="0">
	  <tr>
		<td width="287">T-Mobile Relax 100 </td>
		<td width="103">&nbsp;</td>
	  </tr>
	  <tr>
		<td>&nbsp;</td>
		<td>&nbsp;</td>
	  </tr>
	  <tr>
		<td>Allgemeine Details </td>
		<td>&nbsp;</td>
	  </tr>
	  <tr>
		<td>Monatliche Grundgeb&uuml;hr </td>
		<td>&euro; 28,- </td>
	  </tr>
	  <tr>
		<td>Monatlicher Mindestumsatz </td>
		<td>&euro; 00,-  </td>
	  </tr>
	  <tr>
		<td>Taktung</td>
		<td>60/1</td>
	  </tr>
	  <tr>
		<td>Einmalige Anschlussgeb&uuml;hr </td>
		<td>&euro; 00,- </td>
	  </tr>
	  <tr>
		<td>Laufzeit des Vertrages </td>
		<td>24 Monate </td>
	  </tr>
	  <tr>
		<td>&nbsp;</td>
		<td>&nbsp;</td>
	  </tr>
	  <tr>
		<td>Gespr&auml;chsgeb&uuml;hren</td>
		<td>&nbsp;</td>
	  </tr>
	  <tr>
		<td>ins nationale Festnetz </td>
		<td>&euro; 0,39* </td>
	  </tr>
	  <tr>
		<td>ins eigene Netz </td>
		<td>&euro; 0,39* </td>
	  </tr>
	  <tr>
		<td>in andere Netze </td>
		<td>&euro; 0,39* </td>
	  </tr>
	  <tr>
		<td>&nbsp;</td>
		<td>&nbsp;</td>
	  </tr>
	  <tr>
		<td>SMS</td>
		<td>&nbsp;</td>
	  </tr>
	  <tr>
		<td>Kosten pro SMS </td>
		<td>&euro; 0,19 </td>
	  </tr>
	</table>
</div> 

<div id="tmobile2">
	<table width="300" border="0">
	  <tr>
		<td width="287">T-Mobile Relax 100 </td>
		<td width="103">&nbsp;</td>
	  </tr>
	  <tr>
		<td>&nbsp;</td>
		<td>&nbsp;</td>
	  </tr>
	  <tr>
		<td>Allgemeine Details </td>
		<td>&nbsp;</td>
	  </tr>
	  <tr>
		<td>Monatliche Grundgeb&uuml;hr </td>
		<td>&euro; 28,- </td>
	  </tr>
	  <tr>
		<td>Monatlicher Mindestumsatz </td>
		<td>&euro; 00,-  </td>
	  </tr>
	  <tr>
		<td>Taktung</td>
		<td>60/1</td>
	  </tr>
	  <tr>
		<td>Einmalige Anschlussgeb&uuml;hr </td>
		<td>&euro; 00,- </td>
	  </tr>
	  <tr>
		<td>Laufzeit des Vertrages </td>
		<td>24 Monate </td>
	  </tr>
	  <tr>
		<td>&nbsp;</td>
		<td>&nbsp;</td>
	  </tr>
	  <tr>
		<td>Gespr&auml;chsgeb&uuml;hren</td>
		<td>&nbsp;</td>
	  </tr>
	  <tr>
		<td>ins nationale Festnetz </td>
		<td>&euro; 0,39* </td>
	  </tr>
	  <tr>
		<td>ins eigene Netz </td>
		<td>&euro; 0,39* </td>
	  </tr>
	  <tr>
		<td>in andere Netze </td>
		<td>&euro; 0,39* </td>
	  </tr>
	  <tr>
		<td>&nbsp;</td>
		<td>&nbsp;</td>
	  </tr>
	  <tr>
		<td>SMS</td>
		<td>&nbsp;</td>
	  </tr>
	  <tr>
		<td>Kosten pro SMS </td>
		<td>&euro; 0,19 </td>
	  </tr>
	</table>
</div>
 
Hallo,

hm, also, ich habe folgenden Fehler gemacht:
Ich habe bei <script> bei type= "text/javscript" reingeschrieben, es heißt aber "text/javascript" :)

Du hast, soweit ich verstanden habe, was du willst, folgenden Fehler gemacht:
-Du hast da keine eindeutige IDs für die beiden Checkboxen vergeben, sondern in der Funktion den namen der Checkbox übergeben! Du musst aber die Id übergeben, welche eindeutig sein muss (mehrere Elemente mit der gleichen ID sollte man nicht machen).
-Du hast die verschiedenen div-Elemente nicht ausgeblendet am Anfang!
Du willst doch, dass am Anfang eine Checkbox aktiviert ist und der Inhalt von dieser Checkbox angezeigt ist, der Inhalt der anderen, also deaktivierten Checkbox, ist nicht sichtbar.
Dazu musst du aber das andere div-Element verstecken (mit dem style-Attribut), so:
HTML:
<div id="tmobile2" style="display:none;">[...]</div>

Da das mit dem, dass nur eine Checkbox aktiviert sein kann, so nicht unbedingt allzu gut ist, habe ich das ganze ein wenig geändert.
Dabei musst du jetzt beachten:
Die Namen der Checkboxen müssen "checkbox" enthalten (kannst du aber ändern, ich habe da einen Kommentar drüber gemacht)
Die ID Des Inhalts zu dieser Checkbox muss die gleiche sein, wie das Value der Checkbox, die diesen Inhalt anzeigen soll!

Hier der Code im Zusammenhang (der Internet Explorer hat damit noch ziemlich Probleme, aber das hat er bei mir bis jetzt immer gehabt.. ich habs mit Opera und Firefox getestet und es geht ganz ohne Probleme):
HTML:
<input type="checkbox" name="checkbox" value="tmobile1" id="checkbox1" onChange="checkbox_change('checkbox1', 'tmobile1');" checked="checked">
T-Mobile Relax 100 60/1
<input type="checkbox" name="checkbox" id="checkbox2" onChange="checkbox_change('checkbox2', 'tmobile2');" value="tmobile2">
T-Mobile Relax 200 60/1

<script type="text/javascript">
var last_checked = "";
var last_inh = "";
function checkbox_change(id_chk, id_inh)
{
	var checkbox = document.getElementById(id_chk);
	var inhalt_anzeige = document.getElementById(id_inh);
	if ( checkbox.checked == true )
	{
	    /*if ( last_checked != "" )
	    {
			document.getElementById(last_checked).checked = false;
			document.getElementById(last_inh).style.display = "none";
			last_checked = "";
			last_inh = "";
	    }
	    last_checked = id_chk;
	    last_inh = id_inh;*/
	    
	    for ( var i = 0; i < document.getElementsByTagName('input').length; i++ )
		{
			//das aktuelle el-ement
			var el = document.getElementsByTagName('input')[i];
			//überprüfen, ob der Name dieses Elements checkbox enthält (kann man ändern,
			//jedoch muss zumindest ein Wort/eine Zeichenkette in jeder Checkbox vorkommen!!)
			if ( el.name.indexOf('checkbox') > -1 )
			{
				if ( el.checked == true )
				{
					el.checked = false;
					document.getElementById(el.value).style.display = "none";
				}
			}
		}
		checkbox.checked = true;
		inhalt_anzeige.style.display = "block";
	}
	else
	{
	    inhalt_anzeige.style.display = "none";
	}
}
</script>

<div id="tmobile1">
	<table width="300" border="0">
	  <tr>
		<td width="287">T-Mobile Relax 100 </td>
		<td width="103">&nbsp;</td>
	  </tr>
	  <tr>
		<td>&nbsp;</td>
		<td>&nbsp;</td>
	  </tr>
	  <tr>
		<td>Allgemeine Details </td>
		<td>&nbsp;</td>
	  </tr>
	  <tr>
		<td>Monatliche Grundgeb&uuml;hr </td>
		<td>&euro; 28,- </td>
	  </tr>
	  <tr>
		<td>Monatlicher Mindestumsatz </td>
		<td>&euro; 00,-  </td>
	  </tr>
	  <tr>
		<td>Taktung</td>
		<td>60/1</td>
	  </tr>
	  <tr>
		<td>Einmalige Anschlussgeb&uuml;hr </td>
		<td>&euro; 00,- </td>
	  </tr>
	  <tr>
		<td>Laufzeit des Vertrages </td>
		<td>24 Monate </td>
	  </tr>
	  <tr>
		<td>&nbsp;</td>
		<td>&nbsp;</td>
	  </tr>
	  <tr>
		<td>Gespr&auml;chsgeb&uuml;hren</td>
		<td>&nbsp;</td>
	  </tr>
	  <tr>
		<td>ins nationale Festnetz </td>
		<td>&euro; 0,39* </td>
	  </tr>
	  <tr>
		<td>ins eigene Netz </td>
		<td>&euro; 0,39* </td>
	  </tr>
	  <tr>
		<td>in andere Netze </td>
		<td>&euro; 0,39* </td>
	  </tr>
	  <tr>
		<td>&nbsp;</td>
		<td>&nbsp;</td>
	  </tr>
	  <tr>
		<td>SMS</td>
		<td>&nbsp;</td>
	  </tr>
	  <tr>
		<td>Kosten pro SMS </td>
		<td>&euro; 0,19 </td>
	  </tr>
	</table>
</div>

<div id="tmobile2" style="display:none;">
	<table width="300" border="0">
	  <tr>
		<td width="287">T-Mobile Relax 100 (200) </td>
		<td width="103">&nbsp;</td>
	  </tr>
	  <tr>
		<td>&nbsp;</td>
		<td>&nbsp;</td>
	  </tr>
	  <tr>
		<td>Allgemeine Details </td>
		<td>&nbsp;</td>
	  </tr>
	  <tr>
		<td>Monatliche Grundgeb&uuml;hr </td>
		<td>&euro; 28,- </td>
	  </tr>
	  <tr>
		<td>Monatlicher Mindestumsatz </td>
		<td>&euro; 00,-  </td>
	  </tr>
	  <tr>
		<td>Taktung</td>
		<td>60/1</td>
	  </tr>
	  <tr>
		<td>Einmalige Anschlussgeb&uuml;hr </td>
		<td>&euro; 00,- </td>
	  </tr>
	  <tr>
		<td>Laufzeit des Vertrages </td>
		<td>24 Monate </td>
	  </tr>
	  <tr>
		<td>&nbsp;</td>
		<td>&nbsp;</td>
	  </tr>
	  <tr>
		<td>Gespr&auml;chsgeb&uuml;hren</td>
		<td>&nbsp;</td>
	  </tr>
	  <tr>
		<td>ins nationale Festnetz </td>
		<td>&euro; 0,39* </td>
	  </tr>
	  <tr>
		<td>ins eigene Netz </td>
		<td>&euro; 0,39* </td>
	  </tr>
	  <tr>
		<td>in andere Netze </td>
		<td>&euro; 0,39* </td>
	  </tr>
	  <tr>
		<td>&nbsp;</td>
		<td>&nbsp;</td>
	  </tr>
	  <tr>
		<td>SMS</td>
		<td>&nbsp;</td>
	  </tr>
	  <tr>
		<td>Kosten pro SMS </td>
		<td>&euro; 0,19 </td>
	  </tr>
	</table>
</div>

So, ich hoffe, dass diesmal keine Probleme mehr auftreten ;)

MfG
Fabsch
 

Neue Beiträge

Zurück