• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

immer nur ein div einblenden und die anderen automatich ausblenden wie?

Status
Für weitere Antworten geschlossen.
Hallo und willkommen! :)

Mit reinem HTML wirst du das nicht schaffen. Dazu wirst du schon JavaScript benötigen. Den Buttons gibst du eine class, beispielsweise "SpoilerButton", ein Attribut wie... rel, das die ID des folgenden Divs bekommt, eine Funktion, meinetwegen ShowSingleDiv, die alle Buttons mit der class "SpoilerButton" auf "display: hidden;" und den ausgewählten Button danach auf "display: block;" setzt.
Solltest du gar keine bis wenig Erfahrung in Punkto JavaScript haben, lies dich hier ein.

Mit freundlichen Grüßen,


DarkDragon1993
 
Auch wenn es kontraproduktiv ist, jemanden ein ganzes Script zu geben, habe ich mich jetzt hingesetzt und 1 Stunde lang diesen Code zusammen geschnippselt. Beachte, dass dieses Script nicht im IE funktioniert. Wieso ist im Script kommentiert...

HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<title>Testpage</title>
		<meta http-equiv="Content-Style-Type" content="text/css" />
		<meta http-equiv="Content-Script-Type" content="text/javascript" />
		<script type="text/javascript">
		<!--
			function HideSpoilers( ) {
				var spoilers = document.getElementsByClassName( "spoiler" );
				for( var i = 0; i < spoilers.length; i++ ) {
					spoilers[ i ].style.display = "none";
				}
			}
			function PrepareSpoilerButtons( ) {
				// IE ist mal wieder böse und übergibt als this nicht das element, sondern
				// window... Da musst du dir selbst was überlegen, hab gerade keine Lust mehr.
				var SpoilerButtons = document.getElementsByClassName( "BtnSpoiler" );
				for( var i = 0; i < SpoilerButtons.length; i++ ) {
					if( document.attachEvent ) {
						SpoilerButtons[ i ].attachEvent( "onclick", ShowSingleSpoiler );
					} else {
						SpoilerButtons[ i ].addEventListener( "click", ShowSingleSpoiler, true );
					}
				}
			}
			
			function ShowSingleSpoiler( ) {
				HideSpoilers( );
				this.nextSibling.nextSibling.style.display = "block";
			}
			
			if( !document.getElementsByClassName ) { // IE kennt die Funktion nicht...
				document.getElementsByClassName = function( className ) {
					var all = document.getElementsByTagName( "*" ), ret = [];
					for( var i = 0; i < all.length; i++ ) {
						if( all[ i ].className === className )
							ret.push( all[ i ] );
					}
					return ret;
				};
			}
			
			if( document.attachEvent ) {
				window.attachEvent( "onload", HideSpoilers );
				window.attachEvent( "onload", PrepareSpoilerButtons );
			} else {
				window.addEventListener( "load", HideSpoilers, true );
				window.addEventListener( "load", PrepareSpoilerButtons, true );
			}
		//-->
		</script>
	</head>
	
	<body>
		<div>
			<h2>Div-Toggle-Test</h2>
			<button class="BtnSpoiler">Zeigen</button>
			<div class="spoiler">
				Versteckter Text.
			</div><br />
			<button class="BtnSpoiler">Zeigen</button>
			<div class="spoiler">
				Versteckter Text 2.
			</div><br />
		</div>
	</body>
</html>
Viel Spaß beim Untersuchen. Ich melde mich jetzt erst mal ab.
Wenn was unklar ist: Klick
 
Hmm, einfacher ist relativ. Sagen wir so: Mit jQuery würde es genauso gehen, blos mit weniger Code und für Laien evtl. einfacher zu interpretieren.
 
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>spoiler Test</title>
<script type="text/javascript" src="jquery_1.4.4.min.js"></script>
<script>
$(document).ready(function(){
    
    $("div").hide()
    
    $("button").click(function(){
        
        $("div.spoilerDiv").toggle();
        return false;
        
        });
    
    });
</script>
</head>
<body>

<button>spoiler</button>

<div class="spoilerDiv">alles wird zuerst versteckt und wird per klick angezeigt</div>

</body>
</html>

so funktioniert es mit einem spoiler bin noch am versuchen mit mehreren mit den variablen hab ichs noch nicht so.

mfg devilseye

die jQuery dat sollte auch noch auf dem rechner sein.
 
DarkDragon193 danke das ist genau das was ich gesucht habe. Jetzt versuche ich mal JavaScript zu lernen hoffe ich kappier das.

MfG
Slipknoter6

//close:D
 
Hey DarkDragon193, vielen Dank für den Code ist wirklich sehr hilfreich.
Ich probier schon seit etlichen Tagen den Code auch im IE lauffähig zu machen aber schaff es einfach nicht :((((( .
Kannst du mir da eventuell helfen? danke :)
 
Du weißt aber schon, dass das Topic auf welches Du antwortest 2 Jahre alt ist und das der den Du ansprichst seit mehr als einem Jahr nicht mehr im Forum war? Du kannst gerne ein eigenes Topic eröffnen wenn Du konkrete Fragen hast. Solange ist hier zu.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben