.invisible { MARGIN-TOP: -15px; /*rykker drop-ud menuen op eller ned, jo større plus ned, jo større minus op*/ MARGIN-LEFT: 130px;/*rykker drop-ud menuen ud til højre*/ POSITION: absolute; DISPLAY: none; }
#menuholder LI A { padding: 2px 2px 2px 2px; FONT-FAMILY: Verdana, Arial, Sans-Serif; FONT-WEIGHT: bold; FONT-SIZE: 12px; WIDTH: 100%; COLOR: #000000; TEXT-DECORATION: none; } .submenu { PADDING-RIGHT: 5px; PADDING-LEFT: 20px;/*rykker teksten i drop-ud menuen til højre*/ PADDING-BOTTOM: 2px; PADDING-TOP: 10px;/*afstanden mellem top og punkter samt mellem menu punkterne, kan også bruge line-height*/ TEXT-DECORATION: none; text-align: left; FONT-FAMILY: Verdana, Arial, Sans-Serif; FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #000000; WIDTH: 100%; BACKGROUND-COLOR: #F4F2E6; /*baggrundsfarven på den uddroppede menu*/ /*Gør dropout menuen gennemsigtig*/ position: relative; z-index:1000; filter: alpha(opacity=90); /*Gør dropout menuen gennemsigtig slut*/
</UL> </td> </tr> </table> </NOINDEX> <script language="javascript"> function showSubMenu() { var objThis = this;
for(var i = 0; i < objThis.childNodes.length; i++) {
if(objThis.childNodes.item(i).nodeName == "UL") { // only show block if there are items if (objThis.childNodes.item(i).innerHTML!="") { objThis.childNodes.item(i).style.display = "block"; } } } }
function hideSubMenu() { var objThis = this;
for(var i = 0; i < objThis.childNodes.length; i++) { if(objThis.childNodes.item(i).nodeName == "UL") { objThis.childNodes.item(i).style.display = "none"; return; } } }
function initialiseMenu() { var objLICollection = document.getElementById('menuholder').getElementsByTagName("LI");
for(var i = 0; i < objLICollection.length; i++) { var objLI = objLICollection[i]; for(var j = 0; j < objLI.childNodes.length; j++) {
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
næ, undskyld - hvis det virkelig skal løses skal du (ud over at slette display:none; fra .submenu-klassen) ændre din invisible-klasse til: .invisible { MARGIN-TOP: -15px; /*rykker drop-ud menuen op eller ned, jo større plus ned, jo større minus op*/ MARGIN-LEFT: 130px;/*rykker drop-ud menuen ud til højre*/ POSITION: absolute; visibility:hidden; }
Derudover kan du så ændre lidt på dit script: function showSubMenu(objThis) {
for(var i = 0; i < objThis.childNodes.length; i++) { if(objThis.childNodes.item(i).nodeName == "UL") { // only show block if there are items if (objThis.childNodes.item(i).innerHTML!="") { objThis.childNodes.item(i).style.visibility = "visible"; } } } }
function hideSubMenu(objThis) { for(var i = 0; i < objThis.childNodes.length; i++) { if(objThis.childNodes.item(i).nodeName == "UL") { objThis.childNodes.item(i).style.visibility = "hidden"; return; } }
hvorefter du så også skal ændre lidt på dit script - jeg kunne i hvert fald ikke få det til at virke på andre måder: <UL class="menuclass">
den er ikke helt færdig, da, som du kan se, menuerne forsvinder på en temmelig dum måde. Men det var mere et eksempel på at vise/skjule menuerne. Desuden vidste jeg ikke helt hvordan menuerne skulle sættes og fungere, for står de ikke lidt mærkeligt, som man ser dem nu (altså ud fra din oprindelige kode)?
skovenborg: Hvad mener du med at de står mærkeligt? Som den (menuen) er nu, fungerer den fint, og mit oprindelige problem var (som du har selv har fundet udfra din seneste kommentar), at min verticale drop-ud menu benytter UL Li og derfor "ødelægger" andre layout mæssige ting. Dette ville jeg uden om, og fik noget hjælp til, som også hjalp på det problem. Dog kom der et nyt - det jeg har her, nemlig at submenuerne er synlige fra start - og det er jo ikke normal adfær for en drop-ud menu... Så det ville jeg gerne have fikset. Derfor flyttede jeg spørgsmålet herover, da meget tyde på at det var et javascript problem mere end et css. Det "kode" jeg har vist her, er den html-kode der bliver generet når det bliver kørt. Oprindeligt at menuen inde i en asp.net side.. Måske det er det du mener med at det står mærkeligt?
okay - jeg har fundet ud af hvorfor at det ikke virkede i allerførste omgang. Så mit spørgsmål er ikke længere aktuelt. Hvis du vil have pointne, så smid lige et svar skovenborg. Også dig roenving eftersom at noget fra dit første svar, rent faktisk var med til løsningen. Der skulle ID på, det skulle bare sættes rigtigt i css'en, ellers fungerer det ikke (fx. have jeg skrevet: #menuholder LI men man skal skrive LI#menuholder)
Og jo jeg havde testet det, hvor det umiddelbart virkede nogenlunde (som jeg sagde ikke perfekt). Det er dog muligt jeg ikke nåede at se løsningen i IE, og derfor kan det være tingene ser anderledes ud det. Det var bare sådan før at undermenuerne (i mozilla i hvert fald) lå temmelig langt fra menu-punkterne, hvilket jeg syntes så lidt mærkeligt ud. Men måske er det bare mig ;-)
Jeg har desværre ikke haft så meget tid til E* siden starten af november, men els velbekomme !-)
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.