Menuen virker stort set som den skal, bortset fra én enkelt lille ting. Den letteste måde at forklare problemet på, er nok at gå ind på siden ( www.lindepartners.com) og gøre følgende:
- Tryk på menupunktet ”Lindepartners” - Når dette gøres ruller menuen ned som den skal!!
- Tryk derefter på menupunktet ”The Concept” - Her ruller menuen ligeledes ned som den skal og undermenuen til punktet ”Lindepartners” foldes sammen
- Tryk derefter på menupunktet ”Contact” - Hertil er der ingen underpunkter (og det skal der heller ikke være) MEN den udfoldede undermenu under ”The Concept” folder IKKE sammen.
Jeg vil gerne have, at undermenuen altid folder sig sammen ved tryk på et andet menupunkt!!!
Denne menu styres af 4 js-filer, som kan fremsendes eller kopier herind, hvis der er nogen der vil se på problemet.
<ole> Endelig en adresse, der pegede det rigtige sted hen =o) Prøv: <a href=\"perform.htm\" onclick=\"collapse.toggle(3);\" class=\"menu1\" target=\"mainFrame\">Performance</a>
Gerri>> Ja, for Oleboles forslag går ud på netop at få scriptet til at skubbe \"Performance\" frem, men da der jo ikke er menupunkter, så skulle den helst ikke gøre noget... Men det gør den så alligevel... Jeg skal nok bruge noget mere kode til at kunne gennemskue problemet...
Prøv med: <div id=\"CollapseMenu0Block3Content\" style=\"font-size:1px;height:1px;\"></div> Hjælper det på problemet? /mvh
Synes godt om
Slettet bruger
17. september 2001 - 16:37#12
Prøv at indsætte dette script på siden:
<script> klik = new Array(); klik[1] = false; klik[2] = false; klik[3] = false; klik[4] = false: function regKlik(tal) { if (klik[tal] == false) { klik[tal] = true; for (i = 0; i < tal; i++) { klik[i] = false; } for (i = tal + 1; i < 5; i++) { klik[i] = false; } } else { for (i = 0; i < 5; i++) { klik[i] = false; } } }
function luk() { for (i = 0; i < 5; i++) { if (klik[i] == true) { rigtig = i; break; } } collapse.toggle(i) } </script>
Og så skal du ved hvert link, der skal kollapse skrive sådan her: <a href=\"java script:collapse.toggle(0); regKlik(0)\" class=\"menu1\">Linde Partners</a> <a href=\"java script:collapse.toggle(1); regKlik(1)\" class=\"menu1\">The Concept</a> <a href=\"java script:collapse.toggle(2); regKlik(2)\" class=\"menu1\">Products</a> <a href=\"java script:collapse.toggle(4); regKlik(4)\" class=\"menu1\">Value Magazine</a>
Og ved de links, der ikke skal kollapse, skal du skrive følgende: <a href=\"perform.htm\" onClick=\"luk()\" class=\"menu1\" target=\"mainFrame\">Performance</a>
Er det ikke bedre at bruge collapse.close(i) istedet for collapse.toggle(i). Ifølge dokumentationen, kan close(i) bruges til at lukke et menupunkt med.
Synes godt om
Slettet bruger
17. september 2001 - 16:40#17
Ja, OK Olebole, din ordkløver! :-) Jeg mener selvfølgelig alle dem, der IKKE selv skal folde ud, og SKAL få andre evt. udfoldede menupunkter til at folde ind!
Synes godt om
Slettet bruger
17. september 2001 - 16:41#18
whatever>> JO! Hvis denne funktion altså findes, så er det selvfølgelig en metode, som kan bygges ind i mit script, for at gøre det hele nemmere. Men mit script skulle vist virke...
Synes godt om
Slettet bruger
17. september 2001 - 16:43#19
Hov! klik[4] = false: skal ændres til klik[4] = false;
Ups, igen! Linksene skal se sådan her ud (dem, der kan foldes ud): <a href=\"java script:collapse.toggle(1); regKlik(0)\" class=\"menu1\">Linde Partners</a> <a href=\"java script:collapse.toggle(2); regKlik(1)\" class=\"menu1\">The Concept</a> <a href=\"java script:collapse.toggle(3); regKlik(2)\" class=\"menu1\">Products</a> <a href=\"java script:collapse.toggle(4); regKlik(4)\" class=\"menu1\">Value Magazine</a>
Og funktion luk() skal se sådan her ud: function luk() { for (i = 0; i < 5; i++) { if (klik[i] == true) { rigtig = i; break; } } if (rigtig == 4) { collapse.toggle(5); } else { collapse.toggle(i); } }
(Jo, nu er det vist rigtig nok)
Synes godt om
Slettet bruger
17. september 2001 - 16:48#22
OK, whatever! :-) Men det ændrer nu ikke på mit script, har jeg fundet ud af...
Synes godt om
Slettet bruger
17. september 2001 - 16:50#23
NEJ, hvor er jeg dum! SÅDAN HER skal linksene se ud:
\'close()\' bliver tilført som metode på menu-objektet i denne fil: \'js/collapsemenu.js\'. Du har helt ret, whatever! Måske er det metoden at bruge - men det *er* faktisk den, du bruger i \'toggle()\' =o)
Synes godt om
Slettet bruger
17. september 2001 - 16:52#25
Ja, Olebole, det var det jeg lige fandt ud af! :-)
Den kører stadig væk lidt ned når du trykker på performence, så prøv istedet følgende: <script language=\"Javascript\"> klik = new Array(); klik[0] = false; klik[1] = false; klik[2] = false; klik[4] = false; function regKlik(tal) { if (klik[tal] == false) { klik[tal] = true; for (i = 1; i < tal; i++) { klik[i] = false; } for (i = tal + 1; i < 5; i++) { klik[i] = false; } } else { for (i = 1; i < 5; i++) { klik[i] = false; } } }
function luk() { for (i = 1; i < 5; i++) { if (klik[i] == true) { rigtig = i; break; } } if (rigtig == 4) { collapse.close(5); } else { collapse.close(i); } } </script>
Det er altså meget smartere at holde sig til min regKlik()-funktion (på grund af løkkerne i scriptet), og så bare ændre luk() lidt (selvom jeg nu ikke kan se, hvorfor det ikke skulle virke):
function luk() { for (i = 1; i < 5; i++) { if (klik[i] == true) { rigtig = i; break; } } if (rigtig == 4) { collapse.close(4); } else { collapse.close(i - 1); } }
Synes godt om
Slettet bruger
17. september 2001 - 17:09#32
Nu kan jeg godt se, hvorfor det ikke virker! Brug mit nye luk()-script!
Okay her kommer en meget nemmere løsning som virker: <script language=\"javascript\"> function luk() { collapse.close(0); collapse.close(1); collapse.close(2); collapse.close(4); } </script>
Ved links som ikke skal kunne kollapse skal se sådan ud: <a href=\"perform.htm\" onClick=\"luk()\" class=\"menu1\" target=\"mainFrame\">Performance</a>
Så burde det virke.
Synes godt om
Slettet bruger
17. september 2001 - 17:33#37
YES, endelig! Nu virker det! Her er den meget simple løsning. Du behøver kun dette lille script:
<script> function kollapsLuk() { for (nr = 0; nr < 4; nr++) { if (nr == 3) { nr = 4 } if (collapse.blocks[nr].open == true) { collapse.close(nr); break; } } } </script>
Og det eneste du skal gøre med linksene er, at de links, der skal lukke de andre menupunkter, skal se sådan her ud: <a href=\"et-eller-andet.html\" onClick=\"luk()\">Luk</a>
Jeg havde jo aldrig selv fundet ud af det, så det var alle pointene værd!!
Synes godt om
Ny brugerNybegynder
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.