Menü_problem

NEW_IN_JAVA

Grünschnabel
Hi

Ich habe das problem mit dem klappbaren Menü. Nämlich wenn ich auf den Hauptpunkt klicke werden die Unterpunkte kurz angezeigt, die verschwinden dann und rechts taucht der Text auf. Ich will das aber die Unterpunkte aufgeklappt bleiben.

Bsp:

(das will ich haben)

FOTOS -->CONTENT (rechts)
-Sommer
KONTAKT


(aber das wird angezeigt)

FOTOS -->CONTENT(rechts)
KONTAKT

Noch mal zusammengefasst wenn ich auf FOTOS klicke soll der Unterpunkt Sommer und der Content rechts angezeigt werden. Aber bei mir zeigt er kein Sommer an, aber den Content.

PHP:
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Unbenanntes Dokument</title>

</head>

<body>
<div id="Layer2">
<script type="text/javascript">
<!--

function show(divid) {
d=document;
d.getElementById("cat1").style.display="none";
d.getElementById("cat2").style.display="none";


d.getElementById(divid).style.display="inline";

}
//-->
</script>


<a href="index.php?action=Fotos" target="_self" onclick="show('cat1')"><font color="#FFFFFF">Fotos</font></a><br>
<div id="cat1" style="display:none">
<a href="index.php?action=Sommer" target="_self"><font color="#97bf0e">Sommer</font></a><br>
</div>
<br>

<a href="index.php?action=Kontakt" target="_self" onclick="show('cat2')"><font color="#FFFFFF">Kontakt</font></a><br>
<div id="cat2" style="display:none">
<a href="index.php?action=Adresse" target="_self"><font color="#97bf0e">Adresse</font></a><br>
</div>
<br>

</div>
</div>

<div id="Layer4">
 
 <?php
 include($content);
 ?>
 
 
</div>

<?php
switch ($_GET["action"])
{ 
	case kontakt:
		$content = "Fotos.html";
		break;
		
	case Impressum:
		$content = "Kontakt.html";
		break;
		
	case Sitemap:
		$content = "Sommer.html";
		break;
		
	case Downloads:
		$content = "Adresse.html";
		break;
}
?>
</body>
</html>

Ich hoffe ihr könnt mir helfen.
 
Hi,

das kann in dieser Form nicht funktionieren, da du in den jeweiligen Links im href-Attribut auf ein Dokument verweist, das beim Klicken des Links geöffnet wird, und somit ist der Aufruf der Script-Funktion über'm Jordan.
 
Hi,

bei einem Klick auf den Link rufst Du nicht nur die Javascript-Funktion auf, sondern auch index.php. D.h. Du siehst noch kurz, wie das DIV sichtbar wird, bevor das Ergebnis von index.php erscheint. Dieses hat initial immer beide Kategorien zugeklappt. Du könntest z.B. per PHP eine init()-Funktion in den head-Bereich schreiben, indem Du $_GET['action'] prüfst (ähnlich, wie Du schon $content setzt) und die dann onload aufrufen.

LG

EDIT: heut' extrem langsame Finger.... ;)
 
Hi

Bitte nicht persönlich nehmen, bin Anfänger in php/Javascript, hab damit gemeint das vielleicht jemand ein code findet das mein Problem behebt.

Versuch gerade heraudzufinden wie init funktion onload geht.

:D
 
Hi,

Versuch gerade heraudzufinden wie init funktion onload geht.

onload ist ein Eventhandler, den man im body-Tag angibt:

HTML:
<body onload="funktion_deiner_wahl();">

onload bedeutet, dass die Funktion automatisch aufgerufen wird, nachdem die Seite fertig geladen ist.
Jetzt brauchst Du nur noch eine kleine Javascript-Funktion (ich hatte sie mal init() genannt), die je nach $_GET['action'] die entsprechende Kategorie einblendet.

Da Du schon eine Funktion show() hast, kannst Du auch einfach die benutzen.
Statt ausßerhalb von PHP das body-Tag zu notieren, mach mal folgendes:

PHP:
<?php
echo '<body';
switch ($_GET["action"])
{ 
    case "Fotos":
        echo ' onload="show(\'cat1\');">';
        break;
        
    case "Kontakt":
        echo ' onload="show(\'cat2\');">';
        break;
    default:
        echo '>';
}
?>

LG
 

Neue Beiträge

Zurück