Avatar billede mini-me Nybegynder
26. juni 2003 - 08:54 Der er 12 kommentarer og
1 løsning

Dropdown - menu system

Hej Eksperter,

Jeg har lavet flg. dropdownmenu system, men har et problem. Når jeg forlader det ene hovedmenupunkt, så skal jeg have den til at lukke den alle andre åbne "gardiner" men kan ikke rigtig finde en løsning.

Håber der er nogen der kan gennemskue det.


<script language="JavaScript">
   
    function showDropdown(sender)
    {
        sender.style.display = ""
    }
   
    function closeDropdown(sender)
    {
    sender.style.display = "none"
    }
   
</script>

<table width="750" border="0" align="center" cellpadding="0" cellspacing="0">
      <tr>
    <%
      strSQL = "SELECT * From HTML order by sortOrder asc"
      set rs = conn.execute(strSQL)
      do until rs.eof or rs.bof %>
        <td align="left" valign="middle">
        <table width="100" border="0" cellpadding="0" cellspacing="0">
            <tr>
              <td onMouseOver="showDropdown(<% = rs("title") %>)">
              <div id="<% = rs("Title") %>" style="position:absolute; width:125px; z-index:2; overflow: auto; display=none; top: 87px;" onMouseOut="closeDropdown(<% = rs("title") %>)">
            <table width="120" border="0" cellpadding="0" cellspacing="0" bgcolor="#636363">
            <tr>
            <td><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif">
            Menu 1
            </font></td>
            </tr>
            <tr>
            <td><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif">
            Menu 2
            </font></td>
            </tr>
            <tr>
            <td><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif">
            Menu 3
            </font></td>
            </tr>
            </table>
              </div>
              <a href="default.asp?id=<% = rs("id") %>">
                <% = rs("Title") %>
              </a>
             
              </td>
              <td rowspan="2" bgcolor="#CCCCCC" width="1" ></td>
            </tr>
            </table>
        </td>
        <% rs.movenext   
        loop
        %>
      </tr>
    </table>
Avatar billede cdc Novice
26. juni 2003 - 08:56 #1
set id på dine div's og lav en show / hide i din javascript kode ved onmouseover
Avatar billede cdc Novice
26. juni 2003 - 08:58 #2
ved ikke om denne kan give dig en idé ? Den er ikke blevet helt færdig: http://hjem.get2net.dk/arntsen/eksperten/menu/menu10.htm
Avatar billede mini-me Nybegynder
26. juni 2003 - 09:05 #3
Mine div's får et id.
Avatar billede cdc Novice
26. juni 2003 - 09:15 #4
Det så jeg lidt sent, men er det forskellige id'er ?
Hvis ikke kan du sætte en show('din ID') eller hide('din ID') skal også være et script til det som du kan nappe fra mit link.

onMouseOver="showDropdown(<% = rs("title") %>); hide('din ID');">
Avatar billede mini-me Nybegynder
26. juni 2003 - 09:23 #5
EHmm... mine id'er bliver givet ud fra datbasen og så det loop den kører, så at lave hide(id) er ikke lige til.
Avatar billede mini-me Nybegynder
26. juni 2003 - 09:25 #6
Hvis jeg bare kunne leve noget i koden som sagde, hide alle layers on mouseover undtagen det id som lige er blevet sendt...
Avatar billede cdc Novice
26. juni 2003 - 09:27 #7
så må jeg stå af :o)
Avatar billede mini-me Nybegynder
26. juni 2003 - 10:18 #8
Ingen der kan hjælpe?! Jeg kan godt smide flere points i hvis det er..
Avatar billede -mundi- Nybegynder
26. juni 2003 - 11:02 #9
noget i den her stil ...

jeg har dog ikke testet det da jeg ikke har database eller noget



<table width="750" border="0" align="center" cellpadding="0" cellspacing="0">
      <tr>
    <%
      dim idstring,title
      strSQL = "SELECT * From HTML order by sortOrder asc"
      set rs = conn.execute(strSQL)
      do until rs.eof or rs.bof
      title=rs("Title")
      %>
        <td align="left" valign="middle">
        <table width="100" border="0" cellpadding="0" cellspacing="0">
            <tr>
              <td onMouseOver="showDropdown(<% = title %>)">
              <div id="<% = title %>" style="position:absolute; width:125px; z-index:2; overflow: auto; display=none; top: 87px;" onMouseOut="closeDropdown(<% = title %>)">
            <table width="120" border="0" cellpadding="0" cellspacing="0" bgcolor="#636363">
            <tr>
            <td><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif">
            Menu 1
            </font></td>
            </tr>
            <tr>
            <td><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif">
            Menu 2
            </font></td>
            </tr>
            <tr>
            <td><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif">
            Menu 3
            </font></td>
            </tr>
            </table>
              </div>
              <a href="default.asp?id=<% = rs("id") %>">
                <% = title %>
              </a>
             
              </td>
              <td rowspan="2" bgcolor="#CCCCCC" width="1" ></td>
            </tr>
            </table>
        </td>
        <%
            idstring=idstring&"'"&title&"',"
        rs.movenext   
        loop
        %>
      </tr>
    </table>
    <script language="JavaScript">
    var idarray= new Array(<%=left(idstring,len(idstring)-1)%>)
    function showDropdown(sender)
    {
        for(var i=0;i<idarray.length;i++){
            document.getElementById(idarray[i]).style.display = "none"
        }
        sender.style.display = ""
    }
   
    function closeDropdown(sender)
    {
    sender.style.display = "none"
    } 
    </script>
Avatar billede -mundi- Nybegynder
26. juni 2003 - 11:04 #10
ideen med showDropdown er at den starter med at gemme alle lag for derefter at vise det lag du har valgt
Avatar billede -mundi- Nybegynder
26. juni 2003 - 11:04 #11
det var et svar :-)
Avatar billede mini-me Nybegynder
26. juni 2003 - 12:56 #12
Præcis, det jeg ledte efter.. -:) Du får 1000 tak
Avatar billede -mundi- Nybegynder
26. juni 2003 - 12:57 #13
selv tak
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