Avatar billede soelver Nybegynder
02. oktober 2005 - 15:58 Der er 11 kommentarer og
1 løsning

Foldemenu i tabel

Jeg lavede for længe siden et site, med en foldemenu i en tabel. Menuen udfolder en undermenu, ved klik, og når man så klikker på en af submenuerne, lukker det hele sig sammen igen, idet siden refresher for at hente den angivne side.

Nu kunne jeg så godt tænke mig, at det blev ved med at være åbent, indtil man selv folder det sammen igen.

Hvordan i alverden får jeg den til det?
Nu har jeg snart prøvet at ændre i alt muligt, og det vil ikke som jeg vil.

Det drejer sig om menupunktet "Produkter", der har tre undermenuer.

Det kan ses her: http://assyst.dk
Al kode ligger tilgængeligt med "Vis kilde".

Nogen der har et bud?
Avatar billede roenving Novice
02. oktober 2005 - 16:20 #1
Det kan du for det første gøre meget simplere, og jeg får en mistanke om at du bruger en include for der er helt ulovligt flere doctype-tags osv. !-)

-- det simplere script vil være dette:

<script type="text/javascript">
var foer = null;
function fold(id){
  if(foer)
    foer.style.display = 'none';
  foer = document.getElementById(id);
  foer.style.display = foer.style.display != 'block' ? 'block' : 'none';
}
</script>

        <table width="100%" cellspacing="0" cellpadding="0">
            <tr><td><img src="slices/logobund.jpg" width="143" height="27" valign"top"></td></tr>
            <tr><td width="143" height="20" background="slices/menu.jpg" valign"top"><div align="right"><a class="menulink" href="index.php?vis=forside" valign"top">Forside</a></div></td></tr>
            <tr><td width="143" height="20" background="slices/menu.jpg" valign"top"><div align="right"><a class="menulink" href="index.php?vis=produkter" onclick="fold('nr1', 'nr2', 'nr3'); return false;">Produkter</a></div></td></tr>
            <tr id="nr1" style="display: none;"><td width="143" height="60" background="slices/submenu.jpg" valign"top"><div align="right"><a class="menulink" href="index.php?vis=prodhverdag">Hverdagsstole</a></div>
                  <a class="menulink" href="index.php?vis=prodbarn">Børnestole</a>
                  <a class="menulink" href="index.php?vis=prodsport">Sportsstole</a></div></td></tr>
            <tr><td width="143" height="20" background="slices/menu.jpg" valign"top"><div align="right"><a class="menulink" href="index.php?vis=priser">Priser</a></div></td></tr>
            <tr><td width="143" height="20" background="slices/menu.jpg" valign"top"><div align="right"><a class="menulink" href="index.php?vis=omassyst">Om Assyst</a></div></td></tr>
            <tr><td width="143" height="20" background="slices/menu.jpg" valign"top"><div align="right"><a class="menulink" href="index.php?vis=kontakt">Kontakt</a></div></td></tr>
            <tr><td width="143" height="185" background="slices/menugradient.jpg" valign"top">&nbsp;</td></td>
        </table>

-- mest vist for at du kan se ideen, for der skal pilles lidt mere i koden for at den vises fuldt iorden !-)

-- men du kan så tilføje en onload-funktion i de sider, hvor der er en undermenu:

<script type="text/javascript">
window.onload = function(){
  fold('nr1');
}
</script>

-- og den er skrevet, så den kan lægges i de sider, der inkluderes !o]
Avatar billede soelver Nybegynder
02. oktober 2005 - 16:22 #2
Ah - hvor er jeg glad for at du er online :)
Kigger fluks på det.
Avatar billede soelver Nybegynder
02. oktober 2005 - 16:27 #3
Hmm.. synes ikke helt at virke efter hensigten. Kig engang: http://assyst.dk
Har faktisk forsøgt med noget mere simpelt.. men så virker det slet ikke :D

http://assyst.dk/pages/menutest.php
Avatar billede soelver Nybegynder
02. oktober 2005 - 16:28 #4
Ah.. jo det virker jo en del henad det jeg gerne vil have. Blot kan den ikke længere foldes sammen igen.
Avatar billede soelver Nybegynder
02. oktober 2005 - 16:38 #5
Nu har jeg opdateret de tre sublevels med tilsvarende kode.. Men så forsvandt de.
Ha! Det er så typisk for mig.

Jeg har siddet og rodet med dette siden klokken 8 imorges.. har gennemtrawlet eksperten i gamle spørgsmål, søgt højt og lavt på nettet. Og her sidder jeg endnu.

Oh my..
Avatar billede soelver Nybegynder
02. oktober 2005 - 17:07 #6
Det rettede ligger på http://assyst.dk/index2.php, så jeg kan have det andet liggende indtil jeg finder en løsning.
Avatar billede soelver Nybegynder
02. oktober 2005 - 17:10 #7
Argh.. fuck da. Nu har jeg overskrevet min backup, med et eller andet underligt. Det er hvad der sker, når man sidder for længe ved sådan noget skidt :/
Avatar billede soelver Nybegynder
02. oktober 2005 - 17:14 #8
Nej, det havde jeg ikke. Det var bare includescriptet der fik det til at opføre sig anderledes.

Faktisk virker det oprindelige script ret fornuftigt sammen med include scriptet på undersiderne.. blot skubber det til min tabel på den pågældende underside ;)
Men det finder jeg nok en løsning på.

Med dit includescript og det gamle på index.php, kan jeg både folde ind og ud, og beholde det åbent. Perfekt.

(Sidder lige og snakker højt med mig selv :)
Avatar billede soelver Nybegynder
02. oktober 2005 - 17:27 #9
Hehe.. igen var det bare mig selv. Havde rettet en padding et sted til 0, og den var ikke med i min backup.

Nu virker det hele smukt :D
Læg et svar, så du kan få dine velfortjente point.

Puha.. endelig en ende på mine lidelser.
Avatar billede roenving Novice
04. oktober 2005 - 04:19 #10
*lol*

-- man bliver gammel af at snakke med sig selv ...

-- eller også er det omvendt !-)

-- Velbekomme '-)
Avatar billede roenving Novice
08. oktober 2005 - 23:11 #11
-- og tak for point ;~}
Avatar billede soelver Nybegynder
09. oktober 2005 - 12:38 #12
Det er mig der takker =)
Og hvis man bliver gammel af at snakke med sig selv, så er jeg en million år ;)
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