Jeg har en dropdown menu på min side, under et af de emner man kan vælge på forsiden. På forsiden har jeg også en nyhedsavis der løber op af siden, fra den vil jeg gerne kunne linke til et bestemt punkt på dropdown menuen. Altså så dropdown menuen er åben ved et underpunkt. Kan det lade sig gøre? Håber jeg forklarer godt nok!
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
nej jeg tror ikke jeg har forklaret mig ordentligt. når man trykker på et link på nyhedsavisen(forsiden) hvor der f.eks står "nye billeder af et el. andet" kommer man hen til billederne og dropdown menuen er åben ned til der hvor de nye billleder er. jeg må nok hellere sige at jeg har lavet min side med frames.
Jeg vil gerne vise kode men så er du nok nødt til lige at skærer ud i pap hvad du vil se! Man siger at et billede siger mere end tusind ord så her er to: http://herolddesign.dk/hbb/billed1.jpg http://herolddesign.dk/hbb/billed2.jpg nr 1 er der man kommer til hvis man følger linket nr. 2 er sådan jeg gerne vil ha det til at se ud. Godt nytår!
js filen: /********************************************************************************** FoldoutMenu2 * Copyright (C) 2001 <a href="/dhtmlcentral/thomas_brattli.asp">Thomas Brattli</a> * This script was released at DHTMLCentral.com * Visit for more great scripts! * This may be used and changed freely as long as this msg is intact! * We will also appreciate any links you could give us. * * Made by <a href="/dhtmlcentral/thomas_brattli.asp">Thomas Brattli</a> *********************************************************************************/ // Version modified by Dave Schontzler [ stilleye.com ] // Added the auto-expanding onLoad // Updated 6/6/2003 (was chopping URLs at the query-string)
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; foldInit(); } }; } /************************************************************************************ This is the new foldoutmenu, with more levels! This is in some ways a rather advanced menu so please read every note in this script and in the comments in the page to understand how it works.
NOTE: if you change the position of divFoldCont from absolute to relative, you can put the menu 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. ************************************************************************************/
//Do you want images (if not set to 0 and remove the images from the body)? foldImg=1
//Here are the images for the top links. foldinImg=new Image(); foldinImg.src="Billeder/pil.jpg" //The image for the closed state. foldoutImg=new Image(); foldoutImg.src="Billeder/pilned.jpg" //The image for the open state. //Here are the images for the sub links. foldsubinImg=new Image(); foldsubinImg.src="Billeder/prik.jpg" //The image for the "in" state. foldsuboutImg=new Image(); foldsuboutImg.src="Billeder/pilned.jpg" //The image for the "out" state. //If you change the images above please remember to change the images in the actual page as well.
mainmenus=7 //Hvor mange main menuer har du?
//Hvor mange submenuer har du under hver main level. submenus=new Array(3,4,3,5,4,1,5) //In this example I have 3 submenus in the first top menu, //3, in the second, 2 submenus in the third top menu and 3 in the forth. //It's really important that these numbers are correct.
pxbetweenmain = 20 //How much space should there be between the main menus pxbetweensub = 10 //How much space should there be between the sub menus
mainstayfolded = false //Should the main menus stay folded? substayfolded = false //Should the sub menus stay folded? Play with these 2 variables.
// En måleenhed som vil blive tilført når layerens position sættes. var px = bw.ns4||window.opera?"":"px";
function b_showIt(){this.css.visibility="visible"; this.status=1} function b_hideIt(){this.css.visibility="hidden"; this.status=0} function b_moveIt(x,y){this.x=x; this.y=y; /*this.css.left=this.x+px;*/ this.css.top=this.y+px;} /************************************************************************************ Initierer siden og laver menuen. ************************************************************************************/ function foldInit(){ //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
//Creating the foldoutmenu oFold = new Array(); y = 0; for (var i=0; i<mainmenus; i++){ oFold[i] = new makeMenu('divFold'+i,'divFoldCont'); oFold[i].moveIt(0,y); oFold[i].size = oFold[i].height; y += oFold[i].height+pxbetweenmain; if (bw.ns4) oFold[i].css.clip.bottom = 500; oFold[i].sub = new Array(); oFold[i].subs = top_subs; suby = oFold[i].height+pxbetweensub; for (var j=0; j<submenus[i]; j++){ oFold[i].sub[j] = new makeMenu('divFoldSub'+i+'_'+j,'divFoldCont.document.divFold'+i); oFold[i].sub[j].sub = new makeMenu('divFoldSub'+i+'_'+j+'_0','divFoldCont.document.divFold'+i+'.document.divFoldSub'+i+'_'+j); oFold[i].sub[j].hideIt(); oFold[i].sub[j].sub.hideIt(); oFold[i].sub[j].moveIt(10,suby); suby += oFold[i].sub[j].height+pxbetweensub; } } oFoldCont = new makeMenu('divFoldCont'); if (bw.ns4) oFoldCont.css.clip.bottom = 800; oFoldCont.showIt(); //Showing the menu when the menu have been "created" } /************************************************************************************ Object function to the top of the menus. ************************************************************************************/ function top_subs(show, num){ for (var j=0; j<this.sub.length; j++){ if (show){ this.sub[j].showIt() if (foldImg) this.ref["imgFold"+num].src = foldoutImg.src if (substayfolded){if(this.sub[j].sub.status) this.sub[j].sub.showIt() }else{ if (foldImg) this.sub[j].ref["imgFold"+num+"Sub"+j].src = foldsubinImg.src this.sub[j].sub.hideIt() } }else{ this.sub[j].hideIt() if (foldImg) this.ref["imgFold"+num].src = foldinImg.src if (!substayfolded) this.sub[j].sub.hideIt() else if (substayfolded) this.sub[j].sub.css.visibility="hidden" } } } /************************************************************************************ Checker højden af menuen, og fører dem til den korrekte position. ************************************************************************************/ function checkheight(org){ if(mainstayfolded) istart=org; else istart=0 for(i=istart;i<oFold.length;i++){ oFold[i].size=oFold[i].height for(j=0;j<oFold[i].sub.length;j++){ oFold[i].sub[j].size=oFold[i].sub[j].height+pxbetweensub if(oFold[i].sub[j].status){ oFold[i].size+=oFold[i].sub[j].size if(oFold[i].sub[j].sub.status){ oFold[i].size+=oFold[i].sub[j].sub.height+pxbetweensub oFold[i].sub[j].size+=oFold[i].sub[j].sub.height+pxbetweensub } } if(j!=0) oFold[i].sub[j].moveIt(10,oFold[i].sub[j-1].y+oFold[i].sub[j-1].size) } if(i!=0) oFold[i].moveIt(0,oFold[i-1].y+oFold[i-1].size+pxbetweenmain) } } /************************************************************************************ Folder submenuen ind og ud. ************************************************************************************/ function subfoldmenu(main,sub){ if (!substayfolded){ for (var i=0; i<oFold[main].sub.length; i++){ if (i!=sub){ oFold[main].sub[i].sub.hideIt(); if (foldImg) oFold[main].sub[i].ref["imgFold"+main+"Sub"+i].src = foldsubinImg.src } } } if (!oFold[main].sub[sub].sub.status){ oFold[main].sub[sub].sub.showIt() if(foldImg) oFold[main].sub[sub].ref["imgFold"+main+"Sub"+sub].src = foldsuboutImg.src } else{ oFold[main].sub[sub].sub.hideIt() if(foldImg) oFold[main].sub[sub].ref["imgFold"+main+"Sub"+sub].src = foldsubinImg.src } checkheight(main) } /************************************************************************************ Folder mainmenuen ind og ud. ************************************************************************************/ function foldmenu(num){ if (!mainstayfolded){ for(var i=0; i<oFold.length; i++){ if(i!=num) oFold[i].subs(0,i) } } if (!oFold[num].sub[0].status) oFold[num].subs(1,num) else oFold[num].subs(0,num) checkheight(num) } //Initierer load af menuen, hvis browseren er ok. if(bw.bw) onload = foldInit;
og html fil: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN"> <html> <head> <!-- Minus AutoDato --> <title>dropdown Menu</title> <meta name="Generator" content="Stone's WebWriter 4"> <link href="../../../css/dropdown.css" rel="stylesheet" type="text/css"> <style> </style> <script language="JavaScript" src="dropdown.js" type="text/javascript"></script> <base target="tekst"> </head>
<body>
<!-- Menu container --> <div id="divFoldCont" style="position: absolute; left:20px; top:75px">
Nej. Jeg vil gerne at når jeg har nyheder i mine under menuer(nye billeder) så kan jeg fra forsiden af min hp, som forøvrigt ikke er en frame, linke direkte til en under menu altså så det ser ud som på billed2, så man ikke selv skal regne ud hvilke menupunkt og underpunkt man skal lede efter nyheden i. Det kan nok ikke lade sig gøre da et link vil refererer til hovedsiden eller hovedframen og ikke til et underpunkt som man så skal klikke sig videre til.
det er du nok nødt til at pensle lidt ud. Mit link ser lige nu sådan ud:<a href="Hjemmeside/remise/indexanlaeg.html">Se her!</a> hvordan skal det se ud? Og det med at hente menusiden med samme variabel, hvordan det?
Ok nu har jeg så fået installeret php og det fungerer efter laaang tid, men jeg kan ikke få dit eks til at virke, der er nok noget jeg gør forkert? Når jeg prøver at få vist det kommer koden frem som tekst over menuen....! Skal min forside være en php fil eller er det ligemeget? Er det noget andet jeg gør forkert?
Nu har jeg sat det ind i php og nu kommer der en fejlmelding op: Linie 216 Fejl: 'oFold' er ikke defineret. Linie 216 er i js filen under "Folder mainmenuen ind og ud". Men.....jeg tror ikke det kommer til at virke for jeg har vist ikke forklaret mig godt nok: Den side linket er til, er jo "forsiden" af den del af min side der handler om modeltog og derfra skal man klikke på galleri før end man får dropdownmenuen op og det ser ud som på det første billede. Mand! det er svært at forklarer sådan noget på skrift...:-)
jeg har ikke lagt det ud endnu har det kun på min egen pc. men det er jo koden til menuen der ligger højere oppe på denne side. er der andet du vil ha?
Nu har jeg gjort som du har skrevet. Jeg arbejder med mine sider i Stones Webwriter og når jeg åbner siden med menuen i den interne browser skriver den, fejl i linie 147 menu ikke defineret. Det er den linie nederst i foldInit jeg har sat ind. Hvis jeg åbner det i en ekstern browser er der ingen fejl, tilgengæld sker der ingenting ved begge del, altså linket virker til forsiden men ikke videre til undermenuen. Du burde ha nogle flere point for din tålmodighed med mig :-)Hvis du tror det er nemmere så er jeg ikke så langt fra at lægge det nye ud jeg har lavet til min side, jeg mangler at lege lidt med nogle billeder. Så kan jeg arbejde nogle dage med det og så vende tilbage hertil med et link, er det en ide?
hvis du i browseren skriver: dinside.php?nyhed=1 - så burde menupunkt 1 (byer) være åben... tror faktisk jeg avde glemt at sige at det skulle være nummeret på menupunktet og ikke navnet...
du er da velkommen til at smide flere point i puljen :)
Det virker stadig ikke men jeg arbejder på at få siden færdig og lagt ud, så er det nok nemmere at forklarer. Det tager nok lidt tid, da jeg også laver andet end at sidde foran pc´en :-)
Hej, hvor er det pænt af dig at spørge :-) Jeg havde ikke set det før nu. men jeg har opgivet ideen og er startet forfra på at lave min hjemmeside ....uden frames :-)
Synes godt om
Ny brugerNybegynder
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.