• Aktualisierte Forenregeln

    Eine kleine Änderung hat es im Bereich Forenregeln unter Abschnitt 2 gegeben, wo wir nun explizit darauf verweisen, dass Forenkommentare in unserer Heftrubrik Leserbriefe landen können.

    Forenregeln


    Vielen Dank

Wer findet den Fehler in diesem Script??? Hilfeeeee!!!!

JazzKazz

Anfänger/in
Mitglied seit
12.01.2004
Beiträge
52
Reaktionspunkte
0
Hi Leute,

ich bin am verzweifeln. Ich bastel gerade an einer Internetseite und finde den Fehler in der Navigation nicht.

Wenn man auf "Über uns" klickt, öffnet sich ein Untermenue, klickt man wiederrum auf einen der Kategorien, öffnen sich die dazugehörigen Themen. Ist das Menue geöffnet und man wählt eine andere Kategorie oder den Menuepunkt "Training & Ausbildung", so schließt sich das noch offene Menue und das geklickte öffnet sich.

So soll es auch sein, aber wenn ich auf eine Kategorie bei "Training & Ausbildung" klicke und danach die andere Kategorie anklicke, will sich die schon offene nicht schließen.

Klingt alles recht kompliziert und ich hoffe, ihr wisst was ich meine.

Bitte, bitte helft mir!!!!!!



Probiert's einfach mal aus:


Hier der HTML-Code mit dem Script:



<html>
<head>
<title>Klick Menü</title>

<link href="layout.css" rel="stylesheet" type="text/css">
</head>


<script type="text/javascript">
<!--
function open_close_sub (id)
{
if (document.getElementById(id).style.display == 'block')
{
document.getElementById(id).style.display='none';
}
else
{
document.getElementById('sub_master1').style.display='none';
document.getElementById('sub_master2').style.display='none';

document.getElementById(id).style.display='block';
}
}
function open_close_thema (id, parent)
{
var sub_master1 = new Array ('sub1_thema1','sub1_thema2','sub1_thema3');
var kategorie2 = new Array ('sub2_thema1','sub2_thema2','sub2_thema3');

if (document.getElementById(id).style.display == 'block')
{
document.getElementById(id).style.display='none';
}
else
{
if (parent == 'sub_master1')
{
for (j=0; j<sub_master1.length; j++)
{
document.getElementById(sub_master1[j]).style.display='none';
}

document.getElementById(id).style.display='block';
}
if (parent == 'sub_master2')
{
for (j=0; j<sub_master2.length; j++)
{
document.getElementById(sub_master2[j]).style.display='none';
}

document.getElementById(id).style.display='block';
}
}
}
//-->
</script>
<body>





<div id='master1' onClick="open_close_sub('sub_master1')"> Über uns</div>
<div id='sub_master1' style='display:none;'>


<div id='sub1_master1' class='sub' onClick="open_close_thema('sub1_thema1', 'sub_master1')">Unser Rollenverständnis</div>
<div id='sub1_thema1' name='thema_sub1' style='display:none;'>

<div class='thema'><a href='#'>Thema 1</a></div>
<div class='thema'><a href='#'>Thema 2</a></div>
</div>




<div id='sub2_master1' class='sub' onClick="open_close_thema('sub1_thema2', 'sub_master1')">Unsere Kompetenzen & Erfahrungen</div>
<div id='sub1_thema2' style='display:none;'>

<div class='thema'><a href='#'>Thema 1</a></div>
<div class='thema'><a href='#'>Thema 2</a></div>
</div>



<div id='sub3_master1' class='sub' onClick="open_close_thema('sub1_thema3', 'sub_master1')">Unsere Dienstleistungen</div>
<div id='sub1_thema3' style='display:none;'>

<div class='thema'><a href='#'>Thema 1</a></div>
<div class='thema'><a href='#'>Thema 2</a></div>
</div>

</div> <!-- Ende div: sub_master1 -->






<div id='master2' onClick="open_close_sub('sub_master2')">Training & Ausbildung</div>
<div id='sub_master2' style='display:none;'>



<div id='sub1_master2' class='sub' onClick="open_close_thema('sub2_thema1', 'sub_master2')">Gesprächsführung&
Verhandeln</div>
<div id='sub2_thema1' name='thema_sub2' style='display:none;'>



<div class='thema'>Gesprächsführung Classics</div>
<div class='thema'>Haltung zeigen – Stellung beziehen – Positionen
klären</div>
<div class='thema'>Argumentieren & Verhandeln</div>
<div class='thema'>Projektmanager, Anwälte, Betriebsräte; Führungskräfte</div>
<div class='thema'>Rhetorik</div>
<div class='thema'>Rhetorische Dialektik</div>
<div class='thema'>Verbale Schlagfertigkeit und Umgang mit Kampfrhetorik</div>
<div class='thema'>Gespräche, Diskussionen und Meetings leiten</div>
</div>





<div id='sub2_master2' class='sub' onClick="open_close_thema('sub3_thema1', 'sub_master2')">Arbeitsmethoden
und -techniken</div>
<div id='sub3_thema1' style='display:none;'>



<div class='thema'>Moderations-Methode</div>
<div class='thema'>Die besten Meetings-Methoden</div>
<div class='thema'>Techniken des Projektmanagement</div>
<div class='thema'>Prioritätenmanagement</div>
<div class='thema'>Mindmapping</div>
<div class='thema'>Kreativitätstechniken</div>
<div class='thema'>Selbst- und Zeitmanagement</div>
</div>



</body>
</html>



Und hier die CSS-Datei:

div {
width: 200px;
cursor: default;
left: 210px;
top: 140px;
z-index: 2;
}

#master1 {
position: relative;
margin: 10px 0px 0px 10px;
font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
font-size: 12px;
font-weight: bold;
color: Black;
text-align: right;
padding-right: 20px;
padding-bottom: 3px;
}
#master2 {
position: relative;
margin: 0px 0px 0px 10px;
border-bottom-width: 1px;
border-bottom-color: Black;
border-bottom-style: solid;
font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
font-size: 12px;
font-weight: bold;
color: Black;
text-align: right;
padding-right: 20px;
border-top-color: Black;
border-top-style: solid;
border-top-width: 1px;
padding-top: 3px;
padding-bottom: 3px;
}
.sub {
position: relative;
margin: 0px 0px 0px 10px;
background-color: Fuchsia;
font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
font-size: 11px;
font-weight: bold;
color: Black;
text-align: right;
padding-right: 20px;
padding-top: 3px;
padding-bottom: 3px;
}
.thema {
position: relative;
margin: 0px 0px 0px 10px;
background-color: #E7F3E3;
font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
font-size: 10px;
font-weight: bold;
color: Teal;
text-align: right;
padding-right: 20px;
padding-bottom: 4px;
padding-top: 3px;
}
 
mal abgesehen davon dass das Menü unübersichtlich und dazu noch unheimlich viel Quellcode benötigt, finde ich den Fehler nicht ;)
 
soulsaver am 01.07.2005 21:21 schrieb:
mal abgesehen davon dass das Menü unübersichtlich und dazu noch unheimlich viel Quellcode benötigt, finde ich den Fehler nicht ;)

Ich hab es mir nicht aussuchen können. Es soll halt so gemacht werden und wenn Du einen Verbesserungsvorschlag, was die Länge des Quellcodes angeht, dann kannste ihn dir ja zur Brust nehmen und verbessern ;)

Gruß
 
lol, ja ok wenn das ein auftrag ist kann man nix machen, ich kenn das aber selbst wenn man auch mal dumme Aufträge ausführen soll. Na soll der Kunde doch selbst sehen was er davon hat . . .
 
soulsaver am 02.07.2005 00:51 schrieb:
lol, ja ok wenn das ein auftrag ist kann man nix machen, ich kenn das aber selbst wenn man auch mal dumme Aufträge ausführen soll. Na soll der Kunde doch selbst sehen was er davon hat . . .

Ich hab dem auch diesen Mist stundenlang ausreden wollen, bzw. ihn gebeten, wenigstens noch ein paar Punkte rauszunehmen. Aber nööö, er bleibt hartnäckig und sagt, das muss alles da rein. 3 Mal klicken bis man da ist wo man hin will. Ich würde wahrscheinlich auf so 'ner Seite das tolle X oben rechts im Browserfenster klicken.

Und schau mal was noch alles dazukommt:

9 Hauptnavigationspunkte
19 Kategorien
47 Themen

So wie es aussieht wird man schon allein wegen der Navigationspunkte scrollen müssen. Da sagt er aber das will er nicht. Na, mal sehen ob ich noch ein wenig mit der Schriftgröße nach unten gehen kann.

Achso, noch etwas. Die knalligen Farben habe ich nur für den Beitrag eingefügt, damit auch jeder wach bleibt während der Fehlersuche :P Hoffe nur, jemand hilft mir noch.


Danke
 
ohne mir das jetzt genau angesehen zu haben, wuerde ich sagen, du hast die div's falsch verschachtelt.
 
Ich mach mal ein Ratespiel daraus. :-D

Meistens sehen die div-tags bei dir so aus:

<div id='master1' onClick="open_close_sub('sub_master1')"> Über uns</div>

Also nach dem Prinzip <div werte> name </div>. Das sieht mir ok aus.


Dann gibt es noch diese tags:

<div id='sub1_thema2' style='display:none;'>

Das finde ich total komisch. :-o <div werte >. Fehlt da nicht etwas? Ein / als Ende des tags? Oder sind das verschachtelte div-tags? (Hab ich jetzt nicht nachgeguckt, ist mir zu unübersichtlich ;) )


Vermutlich ist das alles so richtig, aber ich hab ja nicht so richtig Ahnung von dem.. %)
 
Naja eins ist auf jeden Fall sicher.
Es wird nicht in jedem Browser funktionieren *g*
 
ZAM am 02.07.2005 11:36 schrieb:
Naja eins ist auf jeden Fall sicher.
Es wird nicht in jedem Browser funktionieren *g*
Ja ich würde dem Kunden auf jeden Fall verklickern dass nicht jeder Browser das Menü anzeigt, und das Möglichkeiten nunmal begrenzt sind. Zudem wird dein Quellcode für tausende von Menüpunkten immenz lang. Wenn er keine AHnung hat sag einfach da sgeht auf die Ladezeit auch wenn das heutzutage wohl nicht mehr stimmen mag :-D
 
<html>
<head>
<title>Klick Menü</title>

<link href="layout.css" rel="stylesheet" type="text/css">
</head>


<script type="text/javascript">
<!--
function open_close_sub (id)
{
if
(document.getElementById(id).style.display == 'block')
{document.getElementById(id).style.display='none';}
else
{document.getElementById('sub_master1').style.display='none';
document.getElementById('sub_master2').style.display='none';
document.getElementById(id).style.display='block';
}
}
function open_close_thema (id, parent)
{
var sub_master1 = new Array ('sub1_thema1','sub1_thema2','sub1_thema3');
var sub_master2 = new Array ('sub2_thema1','sub2_thema2','sub2_thema3');

if
(document.getElementById(id).style.display == 'block')
{document.getElementById(id).style.display='none';}
else
{
if (parent == 'sub_master1')
{
for (j=0; j<sub_master1.length; j++)
{
document.getElementById(sub_master1[j]).style.display='none';
}

document.getElementById(id).style.display='block';
}
if (parent == 'sub_master2')
{
for (j=0; j<sub2_master2.length; j++)
{
document.getElementById(sub_master2[j]).style.display='none';
}

document.getElementById(id).style.display='block';
}
}
}
//-->
</script>
<body>


<div id='master1' onClick="open_close_sub('sub_master1')">Über uns</div>
<div id='sub_master1' style='display:none;'>


<div id='sub1_master1' class='sub' onClick="open_close_thema('sub1_thema1', 'sub_master1')">Unser Rollenverständnis</div>
<div id='sub1_thema1' style='display:none;'>

<div class='thema'><a href='#'>Thema 1</a></div>
<div class='thema'><a href='#'>Thema 2</a></div>
</div>




<div id='sub1_master1' class='sub' onClick="open_close_thema('sub1_thema2', 'sub_master1')">Unsere Kompetenzen & Erfahrungen</div>
<div id='sub1_thema2' style='display:none;'>

<div class='thema'><a href='#'>Thema 1</a></div>
<div class='thema'><a href='#'>Thema 2</a></div>
</div>



<div id='sub1_master1' class='sub' onClick="open_close_thema('sub1_thema3', 'sub_master1')">Unsere Dienstleistungen</div>
<div id='sub1_thema3' style='display:none;'>

<div class='thema'><a href='#'>Thema 1</a></div>
<div class='thema'><a href='#'>Thema 2</a></div>
</div>

</div> <!-- Ende div: sub_master1 -->


<div id='master2' onClick="open_close_sub('sub_master2')">Training & Ausbildung</div>
<div id='sub_master2' style='display:none;'>


<div id='sub2_master2' class='sub' onClick="open_close_thema('sub2_thema1', 'sub_master2')">Gesprächsführung & Verhandeln</div>
<div id='sub2_thema1' style='display:none;'>

<div class='thema'>Gesprächsführung Classics</div>
<div class='thema'>Haltung zeigen – Stellung beziehen – Positionen klären</div>
<div class='thema'>Argumentieren & Verhandeln</div>
<div class='thema'>Projektmanager, Anwälte, Betriebsräte; Führungskräfte</div>
<div class='thema'>Rhetorik</div>
<div class='thema'>Rhetorische Dialektik</div>
<div class='thema'>Verbale Schlagfertigkeit und Umgang mit Kampfrhetorik</div>
<div class='thema'>Gespräche, Diskussionen und Meetings leiten</div>
</div>


<div id='sub2_master2' class='sub' onClick="open_close_thema('sub2_thema2', 'sub_master2')">Arbeitsmethoden und -techniken</div>
<div id='sub2_thema2' style='display:none;'>

<div class='thema'>Moderations-Methode</div>
<div class='thema'>Die besten Meetings-Methoden</div>
<div class='thema'>Techniken des Projektmanagement</div>
<div class='thema'>Prioritätenmanagement</div>
<div class='thema'>Mindmapping</div>
<div class='thema'>Kreativitätstechniken</div>
<div class='thema'>Selbst- und Zeitmanagement</div>
</div>

</div> <!-- Ende div: sub_master2 -->

</body>
</html>


Versteh zwar nichts von Javascript und auch nur wenig / mittelmäßig was von html, aber mit ein wenig fleiß hab ich eine Lösung erarbeitet (weiss nicht ob sie gut oder schlecht ist) mir ist nur aufgefallen, dass du in Javascript selber eine variable "kategorie 2" genannt hast. =)
 
soulsaver am 02.07.2005 14:14 schrieb:
ZAM am 02.07.2005 11:36 schrieb:
Naja eins ist auf jeden Fall sicher.
Es wird nicht in jedem Browser funktionieren *g*
Ja ich würde dem Kunden auf jeden Fall verklickern dass nicht jeder Browser das Menü anzeigt, und das Möglichkeiten nunmal begrenzt sind. Zudem wird dein Quellcode für tausende von Menüpunkten immenz lang. Wenn er keine AHnung hat sag einfach da sgeht auf die Ladezeit auch wenn das heutzutage wohl nicht mehr stimmen mag :-D

genau... oder du fragst soulsaver den valign-spitzenproggi! :finger: :finger: :top:
 
Zurück