CSS-Navigation mit Listen und JScript
Messmar
- javascript
-1 Joe0 Ingo Turski
Hallo zusammen,
Ich habe eine Navigation mit Listen, CSS und JS, die ich über
SelfHtml bekam.
Das Problem ist, daß die Navigation beim ertsen Aufruf im Browser oder auch beim neu laden bzw. Refresh des Browsers, aufgeklappt und nicht zu ist.
Ich will erreichen, daß die Navi-Elemente beim ersten Aufruf zu oder anders gesagt status hidden haben.
Besten Gruß und Danke
Messmar
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Navigationsleiste mit mehreren Ebenen</title>
<script type="text/javascript">
function hoverIE() {
var LI = document.getElementById("Navigation").firstChild;
do {
if(LI.firstChild) { // A (SPAN)
if(LI.firstChild.nextSibling) { // #text
if(LI.firstChild.nextSibling.nextSibling) { // UL ?
LI.onclick=switchItem; //LI.onmouseout=ausblenden;
}
}
}
LI = LI.nextSibling;
}
while(LI);
}
function switchItem() {
if (this.firstChild.nextSibling.nextSibling.style.display == "block") {
this.firstChild.nextSibling.nextSibling.style.display = "none";
} else {
this.firstChild.nextSibling.nextSibling.style.display = "block";
this.firstChild.nextSibling.nextSibling.style.backgroundColor = "red";
}
}
window.onload=hoverIE;
</script>
<style type="text/css">
body {
font: normal 100.01% Helvetica, Arial, sans-serif;
color: black; background-color: #ffffe0;
}
ul#Navigation {
width: 10em;
margin: 0; padding: 0.8em;
border: 1px solid black;
background-color: silver;
}
* html ul#Navigation { /* Korrekturen fuer IE 5.x */
width: 11.6em;
w\idth: 10em;
padding-left: 0;
padd\ing-left: 0.8em;
}
ul#Navigation li {
list-style: none;
margin: 0.4em; padding: 0;
}
ul#Navigation li ul {
margin: 0 0 0 1em; padding: 0;
}
ul#Navigation li ul li {
margin: 0.1em 0;
}
* html ul#Navigation li ul li { /* Korrektur fuer IE 5.x */
margin-left: 1em;
ma\rgin-left: 0;
}
ul#Navigation a {
display:block;
padding: 0.2em;
text-decoration: none; font-weight: bold;
border: 1px solid black;
border-left-color: white; border-top-color: white;
color: maroon; background-color: #ccc;
}
* html ul#Navigation a {
width: 100%; /* Breitenangabe fuer IE 5.x */
w\idth: 8.8em; /* Breitenangabe fuer IE 6 */
}
* html ul#Navigation li ul li a {
width: 100%; /* Breitenangabe fuer IE 5.x */
w\idth: 7.8em; /* Breitenangabe fuer IE 6 */
}
ul#Navigation a:hover {
border-color: white;
border-left-color: black; border-top-color: black;
color: white; background-color: gray;
}
</style>
</head>
<body>
<h1 id="Beispiel">Mehrere Navigationsebenen</h1>
<ul id="Navigation">
<li><a href="#Beispiel">Seite 1</a></li>
<li><a href="#Beispiel">Seite 2</a>
<ul>
<li><a href="#Beispiel">Seite 2a</a></li>
<li><a href="#Beispiel">Seite 2b</a></li>
<li><a href="#Beispiel">Seite 2c</a></li>
</ul>
</li>
<li><a href="#Beispiel">Die zweite Navi</a>
<ul>
<li><a href="#Beispiel">Seite 2a</a></li>
<li><a href="#Beispiel">Seite 2b</a></li>
<li><a href="#Beispiel">Seite 2c</a></li>
</ul>
</li>
<li><a href="#Beispiel">Seite 3</a></li>
<li><a href="#Beispiel">Seite 4</a></li>
</ul>
</body>
</html>
hi!
einfach in den ul-tag displkay:none; schreiben
=> <ul style="display:none;">
dann sollte alles funktionieren
lg
Joe
Hi,
einfach in den ul-tag displkay:none; schreiben
Danke dir, es funktioniert
Gruß
Messmar
funktionierts so?!?
lg
Joe
Hi,
Ich habe eine Navigation mit Listen, CSS und JS, die ich über
SelfHtml bekam.
schön... Du hast also ein Beispiel genomen und das Script aus einem anderen Beispiel eingefügt und etwas verändert.
Das Problem ist, daß die Navigation beim ertsen Aufruf im Browser oder auch beim neu laden bzw. Refresh des Browsers, aufgeklappt und nicht zu ist.
Logisch. Du mußt entweder das Script so erweitern, daß es onload die Unternavigation ausblendet oder das CSS entsprechend ändern.
Ich will erreichen, daß die Navi-Elemente beim ersten Aufruf zu oder anders gesagt status hidden haben.
Du meinst display:none.
ul#Navigation li ul {
margin: 0 0 0 1em; padding: 0;
}
hier wäre z.B. eine gute Gelegenheit, die Unternavigation auszublenden.
Bedenke aber, daß die Unternavigation dann ohne Javascript nicht mehr zur Verfügung steht und irgendwie alternativ zu erreichen sein sollte, z.B. über die Links der Hauptnavigation.
Anders wäre es, wenn Du die Links onload über Javascript ausblendest. Dann wäre das Menü bei deaktiviertem Javascript komplett sichtbar.
freundliche Grüße
Ingo