Avatar billede rar_jacobsen Nybegynder
19. november 2007 - 15:57 Der er 9 kommentarer og
1 løsning

Hovermenu vs. Select-formtag

Hey,

ved ikke om det her er et ren javascript issue eller om det måske er et style issue, men det kan I sikkert hjælpe mig med at finde ud af ;o)

Jeg har en javascript menu som virker fint, men når jeg aktivere den på sider hvor der er en select-boks på, kommer menuen frem bagved select-tagget - andre forms tags 'overskygger' ikke for menuen. Er det noget I har hørt om før og er det noget jeg kan gøre noget ved?

Bruger følgende kode (HTML filen)
---------------------------------------
<table width="140" cellpadding="0" cellspacing="0">
<tr onmouseover="visSubMenu(this,'1')" onmouseout="hideLayer('menu1')">
  <td class="topMenu" onmouseover="changeBG(this,2);" onmouseout="changeBG(this,1);">
    <table width="100%" cellpadding="0" cellspacing="0" border="0">
    <tr>
      <td width="100%" height="16" align="left" background="gfx/3DButton140.gif">
        <span class="blackhand2">&nbsp;<strong>Business Support</strong></span>
      </td>
    </tr>
    </table>

    <div id="menu1" style="position:absolute; top:10px; left:10px; visibility: hidden; z-index: 100; ">
    <table width="160" cellpadding="0" cellspacing="0" border="0" class="bg1">
      <tr>
        <td class="subMenu" onmouseover="changeBG(this,2);" onmouseout="changeBG(this,1);">
        &nbsp;<strong>List of Savings</strong>
        </td>
      </tr>
      <tr>
        <td class="subMenu" onmouseover="changeBG(this,2);" onmouseout="changeBG(this,1);">
        &nbsp;<img align="absmiddle" src="gfx/Icon_Go.gif" width="16" height="16" alt="" border="0"> <a href="?SiteID=4&1stID=write">Apply new entry</a>
        </td>
      </tr>
      <tr>
        <td class="subMenu" onmouseover="changeBG(this,2);" onmouseout="changeBG(this,1);">
        &nbsp;<img align="absmiddle" src="gfx/Icon_Go.gif" width="16" height="16" alt="" border="0"> <a href="?SiteID=4&1stID=search">Search log</a>
        </td>
      </tr>
      <tr>
        <td class="subMenu" onmouseover="changeBG(this,2);" onmouseout="changeBG(this,1);">
        <a href="">&nbsp;<strong>Texteditor</strong></a>
        </td>
      </tr>
      <tr>
        <td class="subMenu" onmouseover="changeBG(this,2);" onmouseout="changeBG(this,1);">
        &nbsp;<img align="absmiddle" src="gfx/Icon_Go.gif" width="16" height="16" alt="" border="0"> <a href="?SiteID=18&1stID=texteditor">Online texteditor</a>
        </td>
      </tr>
    </table>
    </div>
  </td>
</tr>
</table>

Kan jeg gøre noget anderledes der, eller skal jeg ind i javascript kildekoden? Hvad er De vise ord??

//Rütger
Avatar billede neoman Novice
19. november 2007 - 16:00 #1
Det er vel IE6  du viser det i ? For der er en bug i IE6 som smider select boxe øverst i z-stakken, og man skal lave noget specielt for at blive af med denne "feature". Jeg ved ikke præcist hvordan, men man kan være heldig at finde noget ud på nettet.
Avatar billede roenving Novice
19. november 2007 - 16:05 #2
Hvis du kigger på kategori-sider her på sitet kan du se en løsning, nemlig at skjule de berørte select-bokse, når javascript-menuen foldes ned !-)
Avatar billede rar_jacobsen Nybegynder
19. november 2007 - 16:06 #3
Ja, det er IE6 ... og er også kommet frem til det kunne være noget z-index, men har ikke kunne finde en løsning så satsede på en javascript løsning ;o)

Prøver at smide den over til CSS forumet i stedet hvis der ikke kommer respons herfra ;o)
Avatar billede neoman Novice
19. november 2007 - 16:08 #4
Og hvis du er til lidt mere hard-core kodning så kan du dl'e tigra_hints http://www.softcomplex.com/products/tigra_hints/ - derinde kan man sætte et flag til at "ordne" det problem, så kan du selv kigge i Javascript koden hvordan de gør det, når en select overskygges delvist eller helt af "noget".
Avatar billede roenving Novice
19. november 2007 - 16:09 #5
Du kan ikke lave det med css, eneste chance er ovenstående javascrit-ting !o]
Avatar billede rar_jacobsen Nybegynder
19. november 2007 - 16:09 #6
absolut slet ikke hardcore koder, og slet ikke indenfor javascript
Avatar billede neoman Novice
19. november 2007 - 16:10 #7
eller følg roenvings råd - han plejer at ha styr på den slags:)
Avatar billede jokkejensen Novice
19. november 2007 - 16:22 #8
her er noget gammelt kode, det kan sikkert hurtigt laves om til noget du kan bruge:

function hideSelects(showSelects)
{
    //finder selects i content
    var selects = document.getElementById('Content').getElementsByTagName('select');
 
    //skjuler dem, hvis isOpen   
    var value = "hidden";
       
    if(!isOpen)
    {
      value = "visible";
    }
    for (var s=0; s<selects.length; s++)
    {
        var select = selects[s];

        select.style.visibility = value;     

    }
   
   
}
Avatar billede rar_jacobsen Nybegynder
20. november 2007 - 09:25 #9
jokkejensen: fik dit script til at virke efter jeg havde splittet det op i to forskellige functions :o)

Smid et svar og så lukker jeg ;o)
Avatar billede rar_jacobsen Nybegynder
17. januar 2008 - 01:23 #10
lukker
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