Avatar billede klid Nybegynder
15. august 2002 - 14:55 Der er 8 kommentarer og
2 løsninger

foldoutmenu2 - brugt i tabel

Altså
I foldudmenu 2 på adressen
http://www.dhtmlcentral.com/script/script.asp?

hedder det at man kan bruge scriptet til tabeller hvis man bare ændre possition "absolute" til possition "relative".

Det vil - hedder det i kommentaren i scriptet - koste ns4 bruger, men jeg kan ikke få et til at virke overhovedet. Tabellen bliver mast fuldstændigt i stykker og de forskellige rækker optræder - tilsydenladende fulstændigt vilkårligt - over hele skærmen.

Så hvad skal helt præcist ændres i scriptet for at få mast en tabel ind i den?
Avatar billede Slettet bruger
15. august 2002 - 14:59 #1
Præcis hvor avanceret skal din foldemenu være?
Måske kan du nøjes med denne:
http://www.eksperten.dk/spm/242645
Avatar billede flax Nybegynder
15. august 2002 - 15:01 #2
hej jeg har brugt den på www.albertslundapotek.dk

Jeg kan sende dig filerne?
Avatar billede flax Nybegynder
15. august 2002 - 15:02 #3
du gør sikkert galt her: (FoldNumber = ?????    )

FoldNumber = 3                    //How many toplinks do you have?
var stayFolded = false            //Stay open when you click a new toplink?
foldImg = 1                        //Do you want images (if not set to 0 and remove the images from the body)?
mainOffsetY = 0                    //Vertical space adjustment between the main items, in pixels.
Avatar billede flax Nybegynder
15. august 2002 - 15:16 #4
hjallow..Stadig her?? :-)
Avatar billede klid Nybegynder
15. august 2002 - 15:31 #5
Huj - det går stærkt her

Min menu skal være ret avanceret. Der er 20 tabelrækker der skal være åbne fra start af, og så to underniveauer med varieret antal rækker.

Men flax tager fejl i hvor jeg går galt, for indtil nu har jeg blot forsøgt at få det til at virke ud fra det eksempel der er i linket. Jeg har ændret på possitionen, og sat nogle tabelkoder ind, men ikke ret meget andet.

Jeg kikker på jeres links, men er ikke så hård til det med KAFFE :)
Foldudmenu2 har den fordel,at den er sikret til enhver form for samkvem med en hvilkensomhelst browser - blot altså ikke ns4.

Men der er da vist heller ikke nogen tabeller i dem??
Avatar billede Slettet bruger
15. august 2002 - 15:33 #6
Mit script vil virke med tabeller, men det er jo altså ikke helt så avanceret.
Et meget flot og meget avanceret script findes her:
http://www.dansteinman.com/dynduo/en/collapsemenu.html
Avatar billede flax Nybegynder
15. august 2002 - 15:34 #7
<style type="text/css">
#divCont {position:relative; z-index:1; left:5px; top:70px; height:400px; width:140px; visibility:hidden;}
.clTop  {position:absolute; z-index:1; width:140px; line-height:17px;}
.clSub  {position:absolute; z-index:1; left:0px; top:20px; width:140px; line-height:14px;}

/*** This sets the style for the links inside the menu. ***/
#divCont .clTop a {color:#000000; font-family:verdana,arial,helvetica,sans-serif; font-size:12px; font-weight:bold; text-decoration:none;}
#divCont .clTop a:hover {color:#000000; text-decoration:none;}
#divCont .clTop .clSub a {color:#777777; font-family:verdana,arial,helvetica,sans-serif; font-size:12px; font-weight:normal; text-decoration:none;}
#divCont .clTop .clSub a:hover {color:#333333; text-decoration:none;} 
</style>
<script language="JavaScript" type="text/javascript">

function lib_bwcheck(){ //Browsercheck (needed)
    this.ver=navigator.appVersion
    this.agent=navigator.userAgent
    this.dom=document.getElementById?1:0
    this.opera5=this.agent.indexOf("Opera 5")>-1
    this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0;
    this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0;
    this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
    this.ie=this.ie4||this.ie5||this.ie6
    this.mac=this.agent.indexOf("Mac")>-1
    this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0;
    this.ns4=(document.layers && !this.dom)?1:0;
    this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5)
    return this
}
var bw=new lib_bwcheck()



/*** variables you can configure ***/

FoldNumber = 3                    //How many toplinks do you have?
var stayFolded = false            //Stay open when you click a new toplink?
foldImg = 1                        //Do you want images (if not set to 0 and remove the images from the body)?
mainOffsetY = 0                    //Vertical space adjustment between the main items, in pixels.

//This is the default image.
//Remember to change the actual images in the page as well, but remember to keep the name of the image.
var unImg=new Image();
unImg.src='foldoutmenu_arrow.gif'

var exImg=new Image();                    //Making an image variable...
exImg.src='foldoutmenu_arrow_open.gif'    //...this is the source of the image that it changes to when the menu expands.

// NOTE: if you change the position of divCont from absolute to relative, you can put the foldoutmenu in a table.
// HOWEVER it will no longer work in netscape 4. If you wish to support netscape 4, you have to use absolute positioning.

/*** There should be no need to change anything beyond this. ***/

// A unit of measure that will be added when setting the position of a layer.
var px = bw.ns4||window.opera?"":"px";

if(navigator.userAgent.indexOf('Opera')>-1 && document.getElementById){ //Opera 5 resize fix.
    scrX= innerWidth; scrY= innerHeight;
    document.onmousemove= function(){
        if(scrX<innerWidth-10 || scrY<innerHeight-10 || scrX>innerWidth+10 || scrY>innerHeight+10){
            scrX = innerWidth;
            scrY = innerHeight;
            initFoldout();
        }
    };
}

//object constructor...
function makeMenu(obj,nest){
    nest= (!nest)?"":'document.'+nest+'.';
    this.el= bw.ie4?document.all[obj]:bw.ns4?eval(nest+'document.'+obj):document.getElementById(obj);   
      this.css= bw.ns4?this.el:this.el.style;
    this.ref= bw.ns4?this.el.document:document;       
    this.x= (bw.ns4||bw.opera5)?this.css.left:this.el.offsetLeft;
    this.y= (bw.ns4||bw.opera5)?this.css.top:this.el.offsetTop;
    this.h= (bw.ie||bw.ns6)?this.el.offsetHeight:bw.ns4?this.ref.height:bw.opera5?this.css.pixelHeight:0;
    this.vis= b_vis;
    this.hideIt= b_hideIt;
    this.showIt= b_showIt;
    this.moveIt= b_moveIt;
    return this
}
//object methods...
function b_showIt(){this.css.visibility='visible'}
function b_hideIt(){this.css.visibility='hidden'}
function b_vis(){if(this.css.visibility=='hidden' || this.css.visibility=='HIDDEN' || this.css.visibility=='hide') return true;}
function b_moveIt(x,y){this.x=x; this.y=y; this.css.left=this.x+px; this.css.top=this.y+px}

/************************************************************************************
This is the function that changes the sub menus to folded or unfolded state.
************************************************************************************/
function menu(num){
    if(bw.bw){
        if (!stayFolded){
            for (var i=0; i<oSub.length; i++){
                if (i!=num){
                    oSub[i].hideIt()
                    if (foldImg)oTop[i].ref["imgA"+i].src = unImg.src
                }
            }
            for(var i=1; i<oTop.length; i++){
                oTop[i].moveIt(0,oTop[i-1].y+oTop[i-1].h)
            }
        }
        if (oSub[num].vis()){
            oSub[num].showIt()
            if (foldImg)oTop[num].ref["imgA"+num].src = exImg.src
        }else{
            oSub[num].hideIt()
            if(foldImg)oTop[num].ref["imgA"+num].src = unImg.src
        }
        for(var i=1; i<oTop.length; i++){
            if (!oSub[i-1].vis()) oTop[i].moveIt(0,oTop[i-1].y+oTop[i-1].h+oSub[i-1].h+mainOffsetY)
            else oTop[i].moveIt(0,oTop[i-1].y+oTop[i-1].h+mainOffsetY)
        }
    }
}

/*********************************************************************
The init function... there should be no need to change anything here.
*********************************************************************/
function initFoldout(){
    //Fixing the browsercheck for opera... this can be removed if the browsercheck has been updated!!
    bw.opera5 = (navigator.userAgent.indexOf("Opera")>-1 && document.getElementById)?true:false
    if (bw.opera5) bw.ns6 = 0

    oTop = new Array()
    oSub = new Array()
    //Making the objects and hiding the subs...
    for (var i=0; i<FoldNumber; i++){
        oTop[i] = new makeMenu('divTop'+i,'divCont')
        oSub[i] = new makeMenu('divSub'+i,'divCont.document.divTop'+i)
        oSub[i].hideIt()
    }
   
    //Positioning the top objects...
    oTop[0].moveIt(0,0)
    for (var i=1; i<oTop.length; i++){
        oTop[i].moveIt(0, oTop[i-1].y+oTop[i-1].h+mainOffsetY)
    }
   
    //Making the containing menu object and showing it...
    oCont = new makeMenu('divCont')
    oCont.showIt()
}

// If the browser is ok, the script is started onload...
if(bw.bw) onload = initFoldout;
</script>
Avatar billede flax Nybegynder
15. august 2002 - 15:34 #8
i <head>
Avatar billede flax Nybegynder
15. august 2002 - 15:36 #9
i bodyen:



<td width="157" valign="top">
          <table width="157" border="0" cellspacing="0" cellpadding="0" height="345">
          <td width="157" height="345">
           
                  <div id="divCont"> <strong>
                    <!-- These are the contents of the foldoutmenu. -->
                    </strong>
                    <div id="divTop0" class="clTop"><strong><a href="#" onclick="menu(0); return false" onfocus="this.blur()"><img src="foldoutmenu_arrow.gif" name="imgA0" width=12 height=12 alt="" border="0">
                      Daglige service</a><br>
                      </strong>
                      <div id="divSub0" class="clSub"> <strong><a href="ydelser_kundebetjening.asp">Kundebetjening</a><br>
                        <a href="ydelser_raadgivning.asp">Rådgivning</a><br>
                        <a href="ydelser_udbringning.asp">Udbringning</a><br>
                        <a href="ydelser_dosispakning.asp">Dosispakning</a><br>
                        <a href="ydelser_sundhedsmaalinger.asp">Sundhedsmålinger</a><br>
                        </strong></div>
                      <strong><br>
                      </strong></div>
                    <div id="divTop1" class="clTop"><strong><a href="#" onclick="menu(1); return false" onfocus="this.blur()"><img src="foldoutmenu_arrow.gif" name="imgA1" width=12 height=12 alt="" border="0">
                      Service ydelser</a><br>
                      </strong>
                      <div id="divSub1" class="clSub"> <strong><a href="ydelser_medicinoverblik.asp">Medicinoverblik</a><br>
                        <a href="ydelser_farmaceutsamtale.asp">Farmaceutsamtale</a><br>
                        <a href="ydelser_hjemmebesoeg.asp">Hjemmebesøg</a><br>
                        <a href="ydelser_saarheling.asp">Sårheling</a><br>
                        <a href="ydelser_ferieapoteket.asp">Ferieapoteket</a><br>
                        </strong></div>
                      <strong><br>
                      </strong></div>
                    <div id="divTop2" class="clTop"><strong><a href="#" onclick="menu(2); return false" onfocus="this.blur()"><img src="foldoutmenu_arrow.gif" name="imgA2" width=12 height=12 alt="" border="0">
                      Total service</a><br>
                      </strong>
                      <div id="divSub2" class="clSub"> <strong><a href="ydelser_hjertekar.asp">Hjerte
                        kar</a><br>
                        <a href="ydelser_diabetes.asp">Diabetes</a><br>
                        <a href="ydelser_astmaallergi.asp">Astma allergi</a><br>
                        <a href="ydelser_gigt.asp">Gigt</a><br>
                        <a href="ydelser_rygestop.asp">Rygestop</a><br>
                        <a href="ydelser_slankning.asp">Slankning</a><br>
                        </strong></div>
                      <strong><br>
                      </strong></div>
                    <div id="divTop3" class="clTop"><strong><a href="#" onclick="menu(3); return false" onfocus="this.blur()"><img src="foldoutmenu_arrow.gif" name="imgA3" width=12 height=12 alt="" border="0">
                      Andre ydelser</a><br>
                      </strong>
                      <div id="divSub3" class="clSub"> <strong><a href="ydelser_foredrag.asp">Foredrag</a><br>
                        <a href="ydelser_temamoeder.asp">Temamøder</a><br>
                        <a href="ydelser_samarbejder.asp">Samarbejder</a><br>
                        <a href="ydelser_kurser.asp">Kurser</a><br>
                        <a href="ydelser_undervisningsforloeb.asp">Undervisningsforløb</a><br>
                        </strong></div>
                      <strong><br>
                      </strong></div>
                      <div id="divTop4" class="clTop"><strong><a href="#" onclick="menu(4); return false" onfocus="this.blur()"><img src="foldoutmenu_arrow.gif" name="imgA4" width=12 height=12 alt="" border="0">
                      Hjem</a><br>
                      </strong>
                      <div id="divSub4" class="clSub"> <strong> <a href="ydelser.asp">..til
                        ydelser</a><br>
                        <a href="index.asp">..til forsiden</a></strong></div>
                    <div align="left"><strong>
                      <!-- Here ends the foldoutmenu. -->
                      </strong></div>
                    <strong><br>
                    <br>
                    </strong></div></td>
            </table>
Avatar billede Slettet bruger
16. august 2002 - 16:38 #10
Stærkt udspil, klid! En smart idé at afvise to svar uden at give bare skyggen af begrundelse.
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