Avatar billede lasseq Nybegynder
28. december 2004 - 16:56 Der er 8 kommentarer og
2 løsninger

Problem med display-funktion

Hej

Jeg har lavet følgende javascript (som jeg IKKE er mester i) til at hhv. vise eller skjule et div-element i min menu.
<script language="javascript">
function expandmenu(id) {
    if (document.getElementById(id).style.display = 'none') {
        (document.getElementById(id).style.display = 'inline'); }
    else if (document.getElementById(id).style.display = 'inline') {
        (document.getElementById(id).style.display = 'none'); }
}
</script>

Problemet er, at div'et IKKE bliver skjult igen ved klik på det link, der udløser scriptet. Hvordan løses dette?
Avatar billede erikjacobsen Ekspert
28. december 2004 - 17:00 #1
if (document.getElementById(id).style.display == 'none') {
Avatar billede elskermad.dk Nybegynder
28. december 2004 - 17:17 #2
fjern paranteresserne i else if'en... altså:

<script language="javascript">
function expandmenu(id) {
    if (document.getElementById(id).style.display = 'none') document.getElementById(id).style.display = 'inline';
    else document.getElementById(id).style.display = 'none';
}
</script>
Avatar billede skovenborg Nybegynder
28. december 2004 - 17:18 #3
og når du alligevel bruger det samme objekt hele tiden, kan funktionen forkortes til:
<script language="javascript" type="text/javascript">
function expandmenu(id) {
    elmS = document.getElementById(id).style;
    elmS.display = (elmS.display == 'none') ? 'inline' : 'none';
}
</script>
Avatar billede lasseq Nybegynder
31. december 2004 - 14:31 #4
Hej...
Tak for jeres svar... De er alle gode, men Eriks var den hurtigste og nemmeste for mig... Jeg synes mit script er fint overskueligt for en rookie som mig -- derfor beholder jeg dens nuværende form... Men tak alligevel i andre...


Jeg vil gerne have svar fra ALLE, således point deles retfærdigt ud... Godt nytår...
Avatar billede lasseq Nybegynder
31. december 2004 - 14:38 #5
Men nu vi er i gang har jeg en tilføjelse til scriptet:

Jeg har flere div'er der skal udvides. Hvordan laves det sådan, at der kun må være et div fremme af gangen. De andre skal således være skjulte. Samtidig kunne det også være godt hvis det link, der aktiverede en submenu skiftede baggrundsfarve når den aktuelle submenu (div) var aktiv...
Avatar billede erikjacobsen Ekspert
31. december 2004 - 14:48 #6
Ingen point til mig, tak.

Kan du være mere præcis med dit spørgsmål? Det er vel bare et gemme og ugemme dine
divs på passende måde.
Avatar billede lasseq Nybegynder
01. januar 2005 - 23:26 #7
OK. Strukturen ser således ud:
Menu
|- Submenu1
  |- Submenu 2
  |- Submenu 2
|- Submenu1
|- Submenu1

Mit ønske er, at når der klikkes på en Submenu1 skal de tilhørende Submenu2 vises. Men når der klikkes på et andet Submenu1 skal den forrige Submenu1 og dennes Submenu2'er lukkes. Den "aktuelle" Submenu1 skal have en eller anden form for tydelig markering, f.eks. en anden farvet baggrund eller lign.
Avatar billede lasseq Nybegynder
01. januar 2005 - 23:32 #8
Som scriptet på http://www.dhtmlcentral.com/script/script.asp?id=25
Men vigtigst af alt er at selve linksene er lagt i REN html, således disse kan opdateres gennem Dreamweavers funktion.
Avatar billede lasseq Nybegynder
03. februar 2005 - 22:59 #9
Løsning fundet... Tak til alle.
Avatar billede lasseq Nybegynder
03. februar 2005 - 22:59 #10
Delvis point til mig selv :)
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

IT-JOB

Netcompany A/S

IT Consultant

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger analytisk stærk og erfaren medarbejder i Hvidovre

Politiets Efterretningstjeneste

Fullstack softwareudvikler i PET

Netcompany A/S

Linux Operations Engineer