Avatar billede koldstar Nybegynder
21. maj 2005 - 12:02 Der er 13 kommentarer og
1 løsning

zindex problem

Hej
Jeg har et tsykke kode der genererer en "drop-down" menu lidt oi stil med den her på eksperten. Mit problem er hvis menuen skal poppe ned foran en INPUT-boks, fremkommer den bagved. Menuen består af en div, der bliver synlig / usynlig.

Har forsøgt med følgende uden held:

function show(mnu){
    mnu.style.visibility='visible';
    mnu.style.zIndex=100;
}

samt at ændre at sætte "z-index: 100;" i mit stylesheet..

er der nogen der har en ide??
Avatar billede busschou Praktikant
21. maj 2005 - 12:08 #1
Jeg har læst herinde et par steder at zindex ikke kan benyttes til at få noget foran indbyggede objekter
Avatar billede koldstar Nybegynder
21. maj 2005 - 12:26 #2
okay? hvad skal man så gøre? Findes der ikke et alternativ?
Avatar billede busschou Praktikant
21. maj 2005 - 12:43 #3
Jeg kan desværre ikke finde linket til microsofts side. Men så vidt jeg husker så "nej".
Så er de indbyggede opbjekter altid øverst desværre
Avatar billede elskermad.dk Nybegynder
21. maj 2005 - 14:23 #4
du giver form-feltet et id, også i det kald du gør til at rulle menuen ned indsætter du noget display:none også når menuen fjernes igen så den så sættes til block eller hva den er igen :)
Avatar billede olebole Juniormester
21. maj 2005 - 14:33 #5
<ole>

http://support.microsoft.com/support/kb/articles/Q177/3/78.ASP

- og så er 'visibility:hidden' nok bedre, da elemnetet så stadig optager fysisk plads på siden. Med display vil resten af elementerne 'animere' dramatisk rundt på siden  ;o)

/mvh
</bole>
Avatar billede olebole Juniormester
21. maj 2005 - 14:41 #6
Du kan kalde denne funktion:

function toggleElms(elmTag, vis) {
    var o, a = document.getElementsByTagName(elmTag);
    for (var i=0,j=<a.length; i<j; i++) {
        o = a[i];
        if (!o || !o.offsetParent) continue;
        o.style.visibility = vis;
    }
}

- med henholdsvis:
  toggleElms("select", "hidden");
- og:
  toggleElms("select", "visible");

- når du viser og skjuler din menu. Det er formodentlig ikke input-elementer, men kun select's, der 'brænder' igennem dine lag  ;o)
Avatar billede olebole Juniormester
21. maj 2005 - 14:42 #7
Baahhhh ... sådan:

function toggleElms(elmTag, vis) {
    var o, a = document.getElementsByTagName(elmTag);
    for (var i=0,j=a.length; i<j; i++) {
        o = a[i];
        if (!o || !o.offsetParent) continue;
        o.style.visibility = vis;
    }
}
Avatar billede elskermad.dk Nybegynder
21. maj 2005 - 16:41 #8
ja okay er ikke så meget inde i alle de måder man kan gøre det på, var bare en ledetråd som du så heldigvis kunne fortælle videre på :D
Avatar billede koldstar Nybegynder
22. maj 2005 - 11:53 #9
ja, det er jo lige det jeg skal gøre :)

Problemet er så bare hvis id'et ikke findes. Jeg inkluderer nemlig menuen fra en selvstændig fil, og der er jo ikek på alle siderne jeg bruger forms. Kan man evt. bare skjule formen ud fra et klassenavn, så den ikke fejler hvis formen ikke eksisterer? Så skal jeg bare sætte alle mine forme til at bruge denne klasse?
Avatar billede elskermad.dk Nybegynder
22. maj 2005 - 12:40 #10
jeg skulle mene at det er det oleboles funktion gør :)
Avatar billede koldstar Nybegynder
22. maj 2005 - 12:56 #11
sorry, havde ikke lige læst koden ordenlig igenenm. troede at den fjernede dem med et bestemt id.. det her er helt perfekt..
Avatar billede koldstar Nybegynder
22. maj 2005 - 12:57 #12
olebole> smid et svar, så er der point :)
Avatar billede busschou Praktikant
19. juli 2005 - 10:26 #13
skete der noget herinde ? ;o)
Avatar billede koldstar Nybegynder
20. juli 2005 - 11:41 #14
luk
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