Avatar billede pelskee Nybegynder
06. januar 2005 - 11:36 Der er 5 kommentarer og
1 løsning

Foldudmenu hvordan

hvordan kan jeg få denne menu til at være:

1. foldet sammen fra start
2. folde producenterne ud for kun den produktgruppe man klikker på
3. folde den forrige produktgruppe sammen når man klikker på en ny så der kun er 1 åben

Link: http://www.because.dk/webshop/foldudmenu.asp

jeg aner ikke hvor jeg skal starte. jeg har kode til en foldudmenu jeg bruger men den er ikke dynamisk så jeg tror ikke det kan bruges:

kode:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<html>
<link href="stylesheet.css" rel="stylesheet" type="text/css">
<script type="text/javascript">
var foer = new Array(),obj = new Array();
function fold() {
  var a = fold.arguments,l = a.length,t = false;
  if(l<2)return;
  for(i=0;l>i;i++){
    obj[i] = document.getElementById(a[i]);
  }
  for(j=0;foer.length>j;j++){
    t =false;
    if (foer[j] && foer[j].length > 0){
      for(i=0;foer[j].length>i;i++){
        if(typeof foer[j][i] == 'object')foer[j][i].style.display = "none";
      }
    }
  }
  if(!foer[l-2])foer[l-2] = new Array();
  for(i=0;l>i;i++){
    obj[i].style.display = (obj[i].style.display != "inline") ? "inline" : "none";
    foer[l-2][i] = obj[i];
  }
}
</script>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
//-->
</script>
<body leftmargin="0" topmargin="0" rightmargin="0" bottommargin="0">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td height="25" class="SmallBlackBold" style="border-top:1px dashed #CCCCCC;cursor: pointer;" onclick="fold('nr7', 'nr8'); return false;" onMouseOver="java script:style.background='#EFEFEF'" onMouseOut="java script:style.background='#FFFFFF'">&nbsp;&nbsp;Modtagere</td>
  </tr>
  <tr id="nr7" style="display: none;">
    <td height="25" class="SmallBlackNormal" style="border-top:1px dashed #CCCCCC;cursor: pointer;" onClick="MM_goToURL('parent','../nyhedsbrev/modtager_opret.asp');return document.MM_returnValue" onMouseOver="java script:style.background='#EFEFEF'" onMouseOut="java script:style.background='#FFFFFF'">&nbsp;&nbsp;Opret</td>
  </tr>
  <tr id="nr8" style="display: none;">
    <td height="25" class="SmallBlackNormal" style="border-top:1px dashed #CCCCCC;cursor: pointer;" onClick="MM_goToURL('parent','../nyhedsbrev/modtager_oversigt.asp');return document.MM_returnValue" onMouseOver="java script:style.background='#EFEFEF'" onMouseOut="java script:style.background='#FFFFFF'">&nbsp;&nbsp;Oversigt</td>
  </tr>
  <tr>
    <td height="25" class="SmallBlackBold" style="border-top:1px dashed #CCCCCC;cursor: pointer;" onclick="fold('nr5', 'nr6'); return false;" onMouseOver="java script:style.background='#EFEFEF'" onMouseOut="java script:style.background='#FFFFFF'">&nbsp;&nbsp;Nyhedsbrev</td>
  </tr>
  <tr id="nr5" style="display: none;">
    <td height="25" class="SmallBlackNormal" style="border-top:1px dashed #CCCCCC;cursor: pointer;" onClick="MM_goToURL('parent','../nyhedsbrev/nyhedsbrev_opret.asp');return document.MM_returnValue" onMouseOver="java script:style.background='#EFEFEF'" onMouseOut="java script:style.background='#FFFFFF'">&nbsp;&nbsp;Opret</td>
  </tr>
  <tr id="nr6" style="display: none;">
    <td height="25" class="SmallBlackNormal" style="border-top:1px dashed #CCCCCC;cursor: pointer;" onClick="MM_goToURL('parent','../nyhedsbrev/nyhedsbrev_oversigt.asp');return document.MM_returnValue" onMouseOver="java script:style.background='#EFEFEF'" onMouseOut="java script:style.background='#FFFFFF'">&nbsp;&nbsp;Oversigt</td>
  </tr>
</table>
</body>
</html>
Avatar billede fennec Nybegynder
06. januar 2005 - 11:59 #1
Dette er en vidreudvikling fra http://www.eksperten.dk/spm/577693

<%
while not rsTopLevel.eof
  response.write rsTopLevel("Produktgruppe")
  Set rsSecondLevel = Server.CreateObject("ADODB.Recordset")
  rsSecondLevel.ActiveConnection = MM_webshop_STRING
  rsSecondLevel.Source = "SELECT DISTINCT Producent, Produktgruppe  FROM produkt  WHERE Aktiv = 'Y' and Produktgruppe='"& rsTopLevel("Produktgruppe") &"'"
  rsSecondLevel.CursorType = 0
  rsSecondLevel.CursorLocation = 2
  rsSecondLevel.LockType = 1
  rsSecondLevel.Open()
%>
<table width="100%"  border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td onClick="openClose('<%= rsTopLevel("Produktgruppe") %>')"><%=(rsTopLevel.Fields.Item("Produktgruppe").Value)%></td>
  </tr>
</table>
<table id="menu<%= rsTopLevel("Produktgruppe") %>" width="100%"  border="0" cellspacing="0" cellpadding="0" style="display=none;">

<%
  while not rsSecondLevel.eof %>
<tr>
    <td><%=(rsSecondLevel.Fields.Item("Producent").Value)%></td>
</tr>
<%    rsSecondLevel.MoveNext
  wend %>
</table>
<%
  rsTopLevel.MoveNext
wend
%>

også skal du lige have denne funk på siden et sted:
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
function openClose(funkMenu)
{
  if(getElementById('menu'+funkMenu).style.display=='none')
    getElementById('menu'+funkMenu).style.display='block';
  else
    getElementById('menu'+funkMenu).style.display='none';
}
//-->
</SCRIPT>
Avatar billede fennec Nybegynder
06. januar 2005 - 12:02 #2
... Havde lige glemt et document funktionen:

function openClose(funkMenu)
{
  if(document.getElementById('menu'+funkMenu).style.display=='none')
    document.getElementById('menu'+funkMenu).style.display='block';
  else
    document.getElementById('menu'+funkMenu).style.display='none';
}
Avatar billede pelskee Nybegynder
06. januar 2005 - 12:09 #3
fanme sejt. det virker. :)

Kan det også lade sig gøre at den folder den menu som er åben sammen når man klikker på en ny menu ?
Avatar billede fennec Nybegynder
06. januar 2005 - 12:31 #4
Selvfølgelig :o)

function openClose(funkMenu)
{
  col = document.getElementsByTagName("table")
  for(f=0;f<col.length;f++)
  {
    if(col[f].id.substr(0,4) == 'menu' && col[f].id != 'menu'+funkMenu)
    {
//      alert(col[f].id+''+)
      col[f].style.display = 'none';
    }
  }

  if(document.getElementById('menu'+funkMenu).style.display=='none')
    document.getElementById('menu'+funkMenu).style.display='block';
  else
    document.getElementById('menu'+funkMenu).style.display='none';
}
Avatar billede pelskee Nybegynder
06. januar 2005 - 12:55 #5
nej hvor er du sej!!! tak for hjælpen fennec
Avatar billede fennec Nybegynder
06. januar 2005 - 12:56 #6
no prob

.o) <-- One Eyed Jack
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
Kurser inden for grundlæggende programmering

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