Avatar billede kovalt Nybegynder
04. december 2002 - 16:24 Der er 6 kommentarer og
2 løsninger

Drop Down menu

Hej alle sammen

  Jeg har en dropdown-menu på min side der, som det ligger i ordet viser en menu når der klikken på den. Problemet med dette er at et af menupunkterne udløser at der kommer et rullegardin ned over en flash-ting jeg har lavet.

  Denne lille flash-film ligger sig imidlertid ovenpå menuen således at indholdet i menuen ikke bliver synling for dette menu-punkt.

  Hvis jeg ikke har gjort mig helt klar kan problematikken ses på www.jt-tips.dk/index2.asp
Avatar billede hnteknik Novice
04. december 2002 - 16:32 #1
Det er fordi, at flash og Input felter automatisk får det laveste index.
Kig på DTHMLCENTRAL.com for en js løsning
Henrik
Avatar billede nocs Nybegynder
04. december 2002 - 16:34 #2
kan du ikke angive z-index lavere for dit flash, og højere for menuen?
Avatar billede hnteknik Novice
04. december 2002 - 16:34 #3
Sludder højeste Z index:
se her og udled en metode
******************************************
CM_ADD-IN - hideselectboxes (last updated: 11/13/02)
IE5+ and NS6+ only - ignores the other browsers

Because of the selectbox bug in the browsers that makes
selectboxes have the highest z-index whatever you do
this script will check for selectboxes that interfear with
your menu items and then hide them.

Just add this code to the coolmenus js file
or link the cm_addins.js file to your page as well.
*****************************************/
if(bw.dom&&!bw.op){
  makeCM.prototype.sel=0
  makeCM.prototype.onshow+=";this.hideselectboxes(pm,pm.subx,pm.suby,maxw,maxh,pm.lev)"
  makeCM.prototype.hideselectboxes=function(pm,x,y,w,h,l){
    var selx,sely,selw,selh,i
    if(!this.sel){
      this.sel=this.doc.getElementsByTagName("SELECT")
          this.sel.level=0
    }
    var sel=this.sel
    for(i=0;i<sel.length;i++){
            selx=0; sely=0; var selp;
            if(sel[i].offsetParent){selp=sel[i]; while(selp.offsetParent){selp=selp.offsetParent; selx+=selp.offsetLeft; sely+=selp.offsetTop;}}
            selx+=sel[i].offsetLeft; sely+=sel[i].offsetTop
            selw=sel[i].offsetWidth; selh=sel[i].offsetHeight           
            if(selx+selw>x && selx<x+w && sely+selh>y && sely<y+h){
                if(sel[i].style.visibility!="hidden"){sel[i].level=l; sel[i].style.visibility="hidden"; if(pm){ if(!pm.mout) pm.mout=""; pm.mout+=this.name+".sel["+i+"].style.visibility='visible';"}}
      }else if(l<=sel[i].level && !(pm&&l==0)) sel[i].style.visibility="visible"
    }
  }
}
Avatar billede kovalt Nybegynder
04. december 2002 - 16:35 #4
Jeg tror ikke lige jeg er med på hvad z-index er og hvor jeg ændrer det?
Avatar billede hnteknik Novice
04. december 2002 - 16:40 #5
Hvert layer har et Z-index, som styrer lagdelingen: højere Z værdi -> øverst.
Der er som sagt problemer med Inputfelter og så også flash.
Avatar billede nocs Nybegynder
04. december 2002 - 16:41 #6
<span style="z-index: 5;">menu</span>
<span style="z-index: 3;">flash tingeltangel</span>
håber det virker...
Avatar billede kovalt Nybegynder
04. december 2002 - 16:42 #7
er det ligegyldig hvor jeg tilføjer det?
Avatar billede kovalt Nybegynder
04. december 2002 - 16:53 #8
altså dit svar hnteknik
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