Dynamisches Navigatiosmenü

Hi,

ohne etwas mehr Informationen und/oder Quellcode kann Dir nur schwer geholfen werden.

Ciao
Quaese
 
Hier ist mein JavaScript:

Code:
<script type="text/javascript">
<!--
function show(divid) {
d=document;
d.getElementById("cat1").style.display="none";
d.getElementById("cat2").style.display="none";
d.getElementById("cat3").style.display="none";
d.getElementById("cat4").style.display="none";
d.getElementById(divid).style.display="inline";
}
//-->
</script>

Hier ist dazugehörige Html-Code:
Code:
td width="229"><a href="#" onclick="show('cat1')" class="navText">Informationen</a>
          <div id="cat1" style="display:none"> 
    <a href="a" class="navTextsmall">&nbsp; &nbsp;&nbsp; &nbsp;<font size="1">A</font></a>
          <a href="i" class="navTextsmall">&nbsp; &nbsp;&nbsp; &nbsp;<font size="1">I</font></a>
          <a href="s" class="navTextsmall">&nbsp; &nbsp;&nbsp; &nbsp;<font size="1">S</font></a>
          <a href="y" class="navTextsmall">&nbsp; &nbsp;&nbsp; &nbsp;<font size="1">E</font></a>
          <a href="z" class="navTextsmall">&nbsp; &nbsp;&nbsp; &nbsp;<font size="1">G/font></a>
          </div>
          </td>

Wenn ich jetzt den Link von S drücke. Dann wird die Seite aufgerufen. Die Menü wird zugeklappt und hinter der Link wird ein # eingefügt.
Was kann das Problem sein?
 
Okay - wenn du die Seite aufrufts, dann wird via
Javascript:
<div id="cat1" style="display:none">
das untermenu eingeklappt. Dies passiert immer zwingend beim Aufruf der Seite!

Um das zu verhindern, musst du entweder in eine serversprache auf den Aufruf (http://www. ..... ?id=xx) reagieren und das ausgelieferte HTML ohne 'display:none' ausgeben, oder das ganze mit frames machen (target='..')

Oder du liest beim Öffnen die die Eigenschaft search von location aus und reagierts darauf - dann würde das gehen!

Dirk
 
Hallo, ich kenne mich mit Java Script fast gar nicht aus. Ich komme aus der Java Ecke. Kannst du vielleicht mit ein bisschen Code helfen?Oder kennst du Seiten die so fertiges Code bereitstellen? Danke
 
Für die Basics würde ich dir http://de.selfhtml.org/ empfhehlen. Sollte eigentlich, wenn du programmieren kannst, kein ding sein.

Hier pronzipiell der Aufbau
Javascript:
var checkMenu = function()
{
 if (location.search.indexOf(...) > -1)
   document.getElementById(..).style.display = true;
 else
   document.getElementById(..).style.display = false;
}

window.onload = checkMenu;

Das sollte als Anfang reichen - kuck dir die Doku unter selfhtml an und dann geht das!

Dirk
 
Hi,

falls sich alles im gleichen Fenster abspielt, könnte eventuell auch die Weitergabe der ID über die
name-Eigenschaft des window-Objektes eine Alternative darstellen.
Code:
<?xml version="1.0" encoding="iso-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>www.tutorials.de</title>
<meta name="author" content="Quaese" />
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />

<script type="text/javascript">
<!--
function show(divid) {
	d=document;
	d.getElementById("cat1").style.display="none";
	d.getElementById("cat2").style.display="none";
	//d.getElementById("cat3").style.display="none";
	//d.getElementById("cat4").style.display="none";
	d.getElementById(divid).style.display="inline";
}

window.onload = function(){
  var strID = window.name;
  if(document.getElementById(strID)){
  	document.getElementById(strID).style.display = "inline";
  }
}

//-->
</script>
</head>
<body>
<a href="#" onclick="show('cat1')" class="navText">Informationen 1</a>
<div id="cat1" style="display:none">
  <a href="?test" onclick="window.name=this.parentNode.id;" class="navTextsmall">&nbsp; &nbsp;&nbsp; &nbsp;<font size="1">A</font></a>
  <a href="?test" onclick="window.name=this.parentNode.id;" class="navTextsmall">&nbsp; &nbsp;&nbsp; &nbsp;<font size="1">I</font></a>
  <a href="?test" onclick="window.name=this.parentNode.id;" class="navTextsmall">&nbsp; &nbsp;&nbsp; &nbsp;<font size="1">S</font></a>
  <a href="?test" onclick="window.name=this.parentNode.id;" class="navTextsmall">&nbsp; &nbsp;&nbsp; &nbsp;<font size="1">E</font></a>
  <a href="?test" onclick="window.name=this.parentNode.id;" class="navTextsmall">&nbsp; &nbsp;&nbsp; &nbsp;<font size="1">G</font></a>
</div>
<a href="#" onclick="show('cat2')" class="navText">Informationen 2</a>
<div id="cat2" style="display:none">
  <a href="?test" onclick="window.name=this.parentNode.id;" class="navTextsmall">&nbsp; &nbsp;&nbsp; &nbsp;<font size="1">A</font></a>
  <a href="?test" onclick="window.name=this.parentNode.id;" class="navTextsmall">&nbsp; &nbsp;&nbsp; &nbsp;<font size="1">I</font></a>
  <a href="?test" onclick="window.name=this.parentNode.id;" class="navTextsmall">&nbsp; &nbsp;&nbsp; &nbsp;<font size="1">S</font></a>
  <a href="?test" onclick="window.name=this.parentNode.id;" class="navTextsmall">&nbsp; &nbsp;&nbsp; &nbsp;<font size="1">E</font></a>
  <a href="?test" onclick="window.name=this.parentNode.id;" class="navTextsmall">&nbsp; &nbsp;&nbsp; &nbsp;<font size="1">G</font></a>
</div>
</body>
</html>
Vielleicht kannst Du damit etwas anfangen.

Ciao
Quaese
 

Neue Beiträge

Zurück