Avatar billede equip.dk Nybegynder
21. oktober 2003 - 20:34 Der er 20 kommentarer

flere menu punkter i menu?

Hvordan laver man flere hoved-menupunkter i den her menu?
Kan se der er nogle tags der hedder PT, UD og OP...hvad betyder de...går ud fra man skal bruge et nyt til et nyt punkt? (hvor kan man evt. læse/lære mere om js)

Her er menuen (køre den ikke ok på de fleste browsere? - kan man evt. få den til at huske hvilket hovedpunkt der er åben..skal includes)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML>
<HEAD>
<META NAME="Generator" CONTENT="Stone's WebWriter 3.5">
<SCRIPT TYPE="text/javascript">
var OP = 0
var UD = 0
var PT = 0
var PT = 0

function Oplysning_menu(){
    if (OP == 0){
        Op.innerHTML = '<A HREF="java script:void(0)" onclick="Oplysning_menu()" onmouseover="self.status = \'Klik for at åbne menuen Arrangementer\'">Arrangementer</A><UL TYPE="disc">    <LI><A HREF="arrangementer.asp">Kommende</A>    <LI><A HREF="../Links.htm">Links</A>    <LI><A HREF="../FAKTA.htm">Fakta</A>    <LI><A HREF="../Anmeldelser.htm">Anmeldelser</A>    <LI><A HREF="../Besvaergelses-liste.htm">Besværgelses-liste</A>    <LI><A HREF="../Kommentarer.htm">Kommentarer</A></UL>'
        OP++
    }
    else{
        Op.innerHTML = '<A HREF="java script:void(0)" onclick="Oplysning_menu()" onmouseover="self.status = \'Klik for at åbne menuen Oplysninger\'">Oplysninger</A>'
        OP--
    }
}
function Udfordring_menu(){
    if (UD == 0){
        Ud.innerHTML = '<A HREF="java script:void(0)" onclick="Udfordring_menu()" onmouseover="self.status = \'Klik for at åbne menuen Udfordringer m.m.\'">Udfordringer m.m.</A> <UL TYPE="disc">    <LI><A HREF="Krydsord_o.htm">Krydsord</A>    <LI><A HREF="../Spoergsmaal.htm"><B>?</B> om HP</A></UL>'
        UD++
    }
    else{
        Ud.innerHTML = '<A HREF="java script:void(0)" onclick="Udfordring_menu()" onmouseover="self.status = \'Klik for at åbne menuen Udfordringer m.m.\'">Udfordringer m.m.</A>'
        UD--
    }
}
function Privat_menu(){
    if (PT == 0){
        Pt.innerHTML = '<A HREF="java script:void(0)" onclick="Privat_menu()" onmouseover="self.status = \'Klik for at åbne menuen Privat\'">Privat</A><UL TYPE="disc">    <LI><A HREF="../Hele pibetoejet.zip">Markører [download]</A>    <LI><A HREF="../index.html" TARGET="_top" onclick="alert(\'Skriv koden nede for neden i siden for at komme til den hemmelige side!\');">Hemmelig side</A></UL>'
        PT++
    }
    else{
        Pt.innerHTML = '<A HREF="java script:void(0)" onclick="Privat_menu()" onmouseover="self.status = \'Klik for at åbne menuen Privat\'">Privat</A>'
        Pt--
    }
}
</SCRIPT>
<!-- Minus AutoDato -->
    <TITLE>Navigation-frame</TITLE>
</HEAD>
<BODY BGCOLOR="#000000" TEXT="#FFFF00" LINK="#FFFF00" VLINK="#FFFF00" ALINK="#FFFFFF">

<UL TYPE="disc">
    <LI ID="Fo" onmouseover="self.status = 'til forsiden'"> <A HREF="index.asp">Forsiden</A>
</UL>
<UL TYPE="square">
    <LI ID="Op"><A HREF="java script:void(0)" onclick="Oplysning_menu()" onmouseover="self.status = 'Klik for at &aring;bne menuen Oplysninger'">Arrangementer</A>
    <LI ID="Ud"><A HREF="java script:void(0)" onclick="Udfordring_menu()" onmouseover="self.status = 'Klik for at &aring;bne menuen Udfordringer m.m.'">Udfordringer m.m.</A>
    <LI ID="Pt"><A HREF="java script:void(0)" onclick="Privat_menu()" onmouseover="self.status = 'Klik for at &aring;bne menuen Privat'">Privat</A>
</UL>

</BODY>
</HTML>
Avatar billede equip.dk Nybegynder
21. oktober 2003 - 21:46 #1
<SCRIPT TYPE="text/javascript">
var OP = 0
var UD = 0
var PT = 0
...det er de her - hvad hedder det næste punkt?
Avatar billede equip.dk Nybegynder
21. oktober 2003 - 21:52 #2
eller er de bare vilkårlige?
Avatar billede skovenborg Nybegynder
21. oktober 2003 - 23:06 #3
tjaa, dette her er ikke den menu du har vist ovenover, men den er lidt mere enkel at gå til (og virker også i mozilla:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML>
<HEAD>
<META NAME="Generator" CONTENT="Stone's WebWriter 3.5">
<SCRIPT TYPE="text/javascript">
function visMenu(menu)
{
document.getElementById(menu).style.display = (document.getElementById(menu).style.display == "none") ? "block" : "none";
}
</SCRIPT>
    <TITLE>Navigation-frame</TITLE>
</HEAD>
<BODY BGCOLOR="#000000" TEXT="#FFFF00" LINK="#FFFF00" VLINK="#FFFF00" ALINK="#FFFFFF">
<UL TYPE="disc">
    <LI ID="Fo" onmouseover="self.status = 'til forsiden'" onmouseout="self.status = '';"> <A HREF="index.asp">Forsiden</A>
</UL>
<UL TYPE="square">
    <LI><A HREF="java script:void(0)" onclick="visMenu('Op');" onmouseover="self.status = 'Klik for at &aring;bne menuen Oplysninger'">Arrangementer</A><UL TYPE="disc" id="Op" style="display:none">    <LI><A HREF="arrangementer.asp">Kommende</A>    <LI><A HREF="../Links.htm">Links</A>    <LI><A HREF="../FAKTA.htm">Fakta</A>    <LI><A HREF="../Anmeldelser.htm">Anmeldelser</A>    <LI><A HREF="../Besvaergelses-liste.htm">Besværgelses-liste</A>    <LI><A HREF="../Kommentarer.htm">Kommentarer</A></UL>
    <LI><A HREF="java script:void(0)" onclick="visMenu('Ud');" onmouseover="self.status = 'Klik for at &aring;bne menuen Udfordringer m.m.'">Udfordringer m.m.</A><UL TYPE="disc" id="Ud" style="display:none">    <LI><A HREF="Krydsord_o.htm">Krydsord</A>    <LI><A HREF="../Spoergsmaal.htm"><B>?</B> om HP</A></UL>
    <LI><A HREF="java script:void(0)" onclick="visMenu('Pt')" onmouseover="self.status = 'Klik for at &aring;bne menuen Privat'">Privat</A><UL TYPE="disc" id="Pt" style="display:none">    <LI><A HREF="../Hele pibetoejet.zip">Markører [download]</A>    <LI><A HREF="../index.html" TARGET="_top" onclick="alert(\'Skriv koden nede for neden i siden for at komme til den hemmelige side!\');">Hemmelig side</A></UL>
    <LI><a href="java script:void(0);" onclick="visMenu('Foo');" onmouseover="self.status = 'Klik for en anden menu';">Anden menu</a><UL TYPE="disc" id="Foo" style="display:none">    <LI><A HREF="Krydsord_o.htm">Krydsord</A>    <LI><A HREF="../Spoergsmaal.htm"><B>?</B> om HP</A></UL>
</UL>

</BODY>
</HTML>
Avatar billede equip.dk Nybegynder
21. oktober 2003 - 23:24 #4
det ser fint ud - er det "id:Foo" vilkårligt - nej vel...hvor ser man de tags hvis der skal flere hovedpunkter på?
Avatar billede skovenborg Nybegynder
21. oktober 2003 - 23:26 #5
for at lave en ny menu skriver du bare fx:
<LI><a href="java script:void(0);" onclick="visMenu('Bar');" onmouseover="self.status = 'Klik for en tredje menu';">Tredje menu</a>
<UL TYPE="disc" id="Bar" style="display:none">    <LI><A HREF="side.htm">Side</A>    <LI><A HREF="http://www.google.com">En søgeside</A></UL>

Forklaring:
For hvert menu punkt (ikke undermenuerne) skal du tilføje funktionen visMenu(id). Id'en er den id du gerne vil vise - altså i dette tilfælde den liste der har id'en "bar". Denne liste skal du som standard skjule med
style="display:none";
Inde i denne skjulte liste kan du have alle undermenu punkterne (eller hvad du nu vil have).
Avatar billede skovenborg Nybegynder
21. oktober 2003 - 23:28 #6
id'en skal bare hedde et eller andet - men hold dig for en sikkerhedsskyld til bogstaver og tal, så kommer du ikke galt i byen :-)
Avatar billede skovenborg Nybegynder
21. oktober 2003 - 23:34 #7
du kan godt lave funktionen lidt om, så du også får lidt ældre browsere med (har dog udeladt document.layers da jeg aldrig rigtig har fundet ud af hvordan den skal skriver:
function visMenu(menu)
{
elm = (document.all) ? document.all[menu].style : document.getElementById(menu).style;
elm.display = (elm.display == "none") ? "block" : "none";
}
Avatar billede equip.dk Nybegynder
21. oktober 2003 - 23:39 #8
den vil kunne ses af de fleste browsere (netsc, morsilla, og gl. explo) ik?
Avatar billede equip.dk Nybegynder
21. oktober 2003 - 23:42 #9
Så skal den se sådan ud istedet...? (betyder intet for nye browsere vel?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML>
<HEAD>
<META NAME="Generator" CONTENT="Stone's WebWriter 3.5">
<SCRIPT TYPE="text/javascript">
function visMenu(menu)
function visMenu(menu)
{
elm = (document.all) ? document.all[menu].style : document.getElementById(menu).style;
elm.display = (elm.display == "none") ? "block" : "none";
}
</SCRIPT>
Avatar billede roenving Novice
21. oktober 2003 - 23:52 #10
Som jeg kan se det er skovenborgs ambition at understøtte IE4+ og NS6+ hvilke to browsere må siges at være i det mindste forældede !-)

-- i øvrigt er navigationen i NS4 (vistnok 4.08+) forunderlig simpel, da ovenstående linje bliver til:

elm = (document.layers)?document.layers[menu]:(document.all)?document.all[menu].style:document.getElementById(menu).style;
Avatar billede roenving Novice
21. oktober 2003 - 23:54 #11
-- men da NS4 ikke understøttede css ved jeg ikke om display-propertyen var understøttet, så det kan være at man skal ud i en masse mere code branching for at flytte rundt på elementer og evt. bruge aflæsningen af visibility-propertyen, som hed visible/hide i aflæsning ...
Avatar billede skovenborg Nybegynder
22. oktober 2003 - 00:00 #12
roenving >>tak - det var det jeg egentlig ledte efter (altså den med layers). Og du har sikkert også ret i at display -propertyen ikke er understøttet - den er jo forholdsvis ny så vidt jeg ved :-) Havde også den tanke på et tidspunkt, men man kan jo ligesågodt være sikker.

equip.dk >> Næsten...du skal lige slette en enkelt linje, så der står:
function visMenu(menu)
{
elm = (document.all) ? document.all[menu].style : document.getElementById(menu).style;
elm.display = (elm.display == "none") ? "block" : "none";
}

og så, som roenving foreslår, ændre linien med elm til:
elm = (document.layers)?document.layers[menu]:(document.all)?document.all[menu].style:document.getElemen
Avatar billede equip.dk Nybegynder
22. oktober 2003 - 00:04 #13
vil det første forslag fra skovenborg kunne ses af de fleste...eller skal man rette det sidste med function visMenu(menu)
function visMenu(menu)
{
elm = (document.all) ? document.all[menu].style : document.getElementById(menu).style;
elm.display = (elm.display == "none") ? "block" : "none";
}
og vil det ha indflydelse på nye browsere?
Avatar billede skovenborg Nybegynder
22. oktober 2003 - 00:07 #14
næ, nye browsere vil det ikke have problemmer med - men det kan være ældre browsere ikke understøtter display. Du vil dog have meget svært ved at gøre sådanne menuer tilgængelige for alle - men den er mere browserkompitabel end din første menu hvor du bruger innerHTML.
Avatar billede equip.dk Nybegynder
22. oktober 2003 - 00:49 #15
tusind tak for hjælpen..
Avatar billede equip.dk Nybegynder
22. oktober 2003 - 00:51 #16
kunne i ikke lige lægge et par svar så jeg kan aflevere nogle velfortjente point?
Avatar billede roenving Novice
22. oktober 2003 - 01:06 #17
Så skovenborg, så skal du ud i en større intellektuel øvelse, som går ud på at kigge til venstre efter en radio-button *lol*
Avatar billede skovenborg Nybegynder
22. oktober 2003 - 14:23 #18
hvor hvor - jeg kan simpelthen ikke finde den. Det må være min browser der er gået grassat!!!
Avatar billede skovenborg Nybegynder
22. oktober 2003 - 14:23 #19
der var den ;-)
Avatar billede roenving Novice
22. oktober 2003 - 14:30 #20
Pu-ha ...

Det var godt det lykkedes ;O)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester