24. oktober 2002 - 22:16Der er
60 kommentarer og 2 løsninger
Bratta-menu, som aktiveres ved klik
Jeg bruger CoolMenus/menu3.html fra www.bratta.com. Her har jeg taget den øverste menu og konfigureret den, og den virker perfekt.
Men der er én ting, der er irriterende, og det er når man ved et uheld kommer til at føre musen hen over menuen. Derfor vil jeg gerne have, at den kun kan aktiveres ved klik med musen. Jeg øger gerne point til max, hvis du kan/vil lave det.
AI bliver først for alvor en del af arbejdet, når teknologien integreres i den måde, vi arbejder på. At have adgang til AI betyder ikke nødvendigvis, at medarbejderne er klar til at bruge den.
//Level properties - ALL properties have to be specified in level 0 oCMenu2.level[0]=new cm_makeLevel() //Add this for each new level oCMenu2.level[0].width=107 oCMenu2.level[0].height=22 oCMenu2.level[0].regClass="cl2Level0" oCMenu2.level[0].overClass="cl2Level0over" oCMenu2.level[0].borderX=0 oCMenu2.level[0].borderY=0 oCMenu2.level[0].borderClass="cl2Level0border" oCMenu2.level[0].offsetX=0 oCMenu2.level[0].offsetY=0 oCMenu2.level[0].rows=0 oCMenu2.level[0].arrow="/images/menu_arrow.gif" oCMenu2.level[0].arrowWidth=10 oCMenu2.level[0].arrowHeight=10 oCMenu2.level[0].align="bottom"
//EXAMPLE SUB LEVEL[1] PROPERTIES - You have to specify the properties you want different from LEVEL[0] - If you want all items to look the same just remove this oCMenu2.level[1]=new cm_makeLevel() //Add this for each new level (adding one to the number) oCMenu2.level[1].width=oCMenu2.level[0].width-2 oCMenu2.level[1].height=20 oCMenu2.level[1].regClass="cl2Level1" oCMenu2.level[1].overClass="cl2Level1over" oCMenu2.level[1].borderX=1 oCMenu2.level[1].borderY=1 oCMenu2.level[1].align="right" oCMenu2.level[1].offsetX=-(oCMenu2.level[0].width-2)/2+54 oCMenu2.level[1].offsetY=0 oCMenu2.level[1].borderClass="cl2Level1border"
<script> /******************* MENU NUMBER 2 **********************************/ /*** This is the menu creation code - place it right after you body tag Feel free to add this to a stand-alone js file and link it to your page. **/ //Menu object creation oCMenu2=new makeCM("oCMenu2") //Making the menu object. Argument: menuname //Menu properties oCMenu2.pxBetween=1 oCMenu2.fromLeft=20 oCMenu2.fromTop=105 oCMenu2.rows=1 oCMenu2.menuPlacement="center"
oCMenu2.offlineRoot="file:///C|/Inetpub/wwwroot/dhtmlcentral/" oCMenu2.onlineRoot="" oCMenu2.resizeCheck=1 ocMenu2.useClick=1 oCMenu2.wait=500 oCMenu2.fillImg="cm_fill.gif" oCMenu2.zIndex=0 //Background bar properties oCMenu2.useBar=1 oCMenu2.barWidth="0%" oCMenu2.barHeight="menu" oCMenu2.barClass="cl2Bar" oCMenu2.barX=0 oCMenu2.barY=0 oCMenu2.barBorderX=0 oCMenu2.barBorderY=0 oCMenu2.barBorderClass="" //Level properties - ALL properties have to be specified in level 0 oCMenu2.level[0]=new cm_makeLevel() //Add this for each new level oCMenu2.level[0].width=107 oCMenu2.level[0].height=22 oCMenu2.level[0].regClass="cl2Level0" oCMenu2.level[0].overClass="cl2Level0over" oCMenu2.level[0].borderX=0 oCMenu2.level[0].borderY=0 oCMenu2.level[0].borderClass="cl2Level0border" oCMenu2.level[0].offsetX=0 oCMenu2.level[0].offsetY=0 oCMenu2.level[0].rows=0 oCMenu2.level[0].arrow="/images/menu_arrow.gif" oCMenu2.level[0].arrowWidth=10 oCMenu2.level[0].arrowHeight=10 oCMenu2.level[0].align="bottom" //EXAMPLE SUB LEVEL[1] PROPERTIES - You have to specify the properties you want different from LEVEL[0] - If you want all items to look the same just remove this oCMenu2.level[1]=new cm_makeLevel() //Add this for each new level (adding one to the number) oCMenu2.level[1].width=oCMenu2.level[0].width-2 oCMenu2.level[1].height=20 oCMenu2.level[1].regClass="cl2Level1" oCMenu2.level[1].overClass="cl2Level1over" oCMenu2.level[1].borderX=1 oCMenu2.level[1].borderY=1 oCMenu2.level[1].align="right" oCMenu2.level[1].offsetX=-(oCMenu2.level[0].width-2)/2+54 oCMenu2.level[1].offsetY=0 oCMenu2.level[1].borderClass="cl2Level1border"
<script> /******************* MENU NUMBER 2 **********************************/ /*** This is the menu creation code - place it right after you body tag Feel free to add this to a stand-alone js file and link it to your page. **/ //Menu object creation oCMenu2=new makeCM("oCMenu2") //Making the menu object. Argument: menuname //Menu properties oCMenu2.pxBetween=1 oCMenu2.fromLeft=20 oCMenu2.fromTop=105 oCMenu2.rows=1 oCMenu2.menuPlacement="center"
oCMenu2.offlineRoot="file:///C|/Inetpub/wwwroot/dhtmlcentral/" oCMenu2.onlineRoot="" oCMenu2.resizeCheck=1 ocMenu2.useclick=1 oCMenu2.wait=500 oCMenu2.fillImg="cm_fill.gif" oCMenu2.zIndex=0 //Background bar properties oCMenu2.useBar=1 oCMenu2.barWidth="0%" oCMenu2.barHeight="menu" oCMenu2.barClass="cl2Bar" oCMenu2.barX=0 oCMenu2.barY=0 oCMenu2.barBorderX=0 oCMenu2.barBorderY=0 oCMenu2.barBorderClass="" //Level properties - ALL properties have to be specified in level 0 oCMenu2.level[0]=new cm_makeLevel() //Add this for each new level oCMenu2.level[0].width=107 oCMenu2.level[0].height=22 oCMenu2.level[0].regClass="cl2Level0" oCMenu2.level[0].overClass="cl2Level0over" oCMenu2.level[0].borderX=0 oCMenu2.level[0].borderY=0 oCMenu2.level[0].borderClass="cl2Level0border" oCMenu2.level[0].offsetX=0 oCMenu2.level[0].offsetY=0 oCMenu2.level[0].rows=0 oCMenu2.level[0].arrow="/images/menu_arrow.gif" oCMenu2.level[0].arrowWidth=10 oCMenu2.level[0].arrowHeight=10 oCMenu2.level[0].align="bottom" //EXAMPLE SUB LEVEL[1] PROPERTIES - You have to specify the properties you want different from LEVEL[0] - If you want all items to look the same just remove this oCMenu2.level[1]=new cm_makeLevel() //Add this for each new level (adding one to the number) oCMenu2.level[1].width=oCMenu2.level[0].width-2 oCMenu2.level[1].height=20 oCMenu2.level[1].regClass="cl2Level1" oCMenu2.level[1].overClass="cl2Level1over" oCMenu2.level[1].borderX=1 oCMenu2.level[1].borderY=1 oCMenu2.level[1].align="right" oCMenu2.level[1].offsetX=-(oCMenu2.level[0].width-2)/2+54 oCMenu2.level[1].offsetY=0 oCMenu2.level[1].borderClass="cl2Level1border"
Da coolmenus er skruet sammen med en masse javascript objekter og "underobjekter" vil det stoppe afviklingen når man har skrevet forkert, hvorfor din menu så ikke ville vises.....
det lader til at du bruger coolmenus 4.,,,,,, to sec, der skal du nemlig kopiere noget javascript ind i stedet...... går lige ind og kopierer og sætter det ind her......
//Level properties - ALL properties have to be specified in level 0 oCMenu2.level[0]=new cm_makeLevel() //Add this for each new level oCMenu2.level[0].width=107 oCMenu2.level[0].height=22 oCMenu2.level[0].regClass="cl2Level0" oCMenu2.level[0].overClass="cl2Level0over" oCMenu2.level[0].borderX=0 oCMenu2.level[0].borderY=0 oCMenu2.level[0].borderClass="cl2Level0border" oCMenu2.level[0].offsetX=0 oCMenu2.level[0].offsetY=0 oCMenu2.level[0].rows=0 oCMenu2.level[0].arrow="/images/menu_arrow.gif" oCMenu2.level[0].arrowWidth=10 oCMenu2.level[0].arrowHeight=10 oCMenu2.level[0].align="bottom"
//EXAMPLE SUB LEVEL[1] PROPERTIES - You have to specify the properties you want different from LEVEL[0] - If you want all items to look the same just remove this oCMenu2.level[1]=new cm_makeLevel() //Add this for each new level (adding one to the number) oCMenu2.level[1].width=oCMenu2.level[0].width-2 oCMenu2.level[1].height=20 oCMenu2.level[1].regClass="cl2Level1" oCMenu2.level[1].overClass="cl2Level1over" oCMenu2.level[1].borderX=1 oCMenu2.level[1].borderY=1 oCMenu2.level[1].align="right" oCMenu2.level[1].offsetX=-(oCMenu2.level[0].width-2)/2+54 oCMenu2.level[1].offsetY=0 oCMenu2.level[1].borderClass="cl2Level1border"
bamze, kan du ikke give mig den ekstra kode og fortælle mig hvor den skal sættes ind? Jeg vil gerne have 100% styr på hvad der bliver sat ind, og hvor det bliver sat ind.
Og så ser jeg, at det er korrekt at du bruger v4........ og den understøtter endnu ikke useclick, i hvertfald ikke i følge dokumentationen....
så enten nedgraderer du til coolmenus v3, hvor useclick=1 vil virke, eller også lever du uden den funktionalitet, indtil Thomas Brattli har tilføjet denne funktion........
Coolmenus v4 er stadig i beta, hvorfor jeg endnu kun har implementeret den hos en kunde... http://www.hempel.com
Hm, lige det eksempel du gav mig der, virker vist ikke efter dén hensigt :o)
Så vidt jeg har forstået, er forskellen på v3 og v4, og v4 er blevet debugget? Risikerer jeg noget, hvis jeg nedgraderer? Eller kan det betale sig at vente på en færdig v4? Og hvor længe tror du det vil vare? En masse spørgsmål :o)
uha, mange af de samme spørgsmål jeg får fra kunder.....
1. man kan ikke sige at version 4 er en debugget version...... reelt set er det en HELT ny version som bare ligner den gamle til forveksling (du kan se, selv jeg tog fejl), både rent konfigurationsmæssigt men også funktionalitetsmæssigt....
2. Den nye version 4 har samtidig en mere ekstremt understøttelse for forskellige browsere...... men version 3 fungerer fint med ns og ie på både mac og pc....
3. Coolmenus distribueres under GNU public license, hvorfor du er velkommen til at ændre i koden og prøve at få den til at gøre som du vil...... dette er dog temmeligt besværligt da selve koden er helt udokumenteret og meget kompleks....
4. De scripts du finder hos Thomas på www.bratta.com eller www.dhtmlcentral.com er scripts han laver dels for sjov, dels for at vise hvad han kan.... alene for at skaffe ham lønnede freelance jobs..... Derfor har opdateringer en forholdsvis lav prioritet hvorfor der kan gå perioder på en del måneder (ca 6) før du kan forvente at han måske har taget sig sammen. Personligt kan jeg godt forstå ham, for der findes 10000 vis af brugere af hans menu scripts, og hvis hver bare betalte ham 50-100kr for hans arbejde kunne han leve af bare at udvikle på dem... men det skaber som situationen er, ikke brød på bordet...
Derfor er svaret, som det også er til mine kunder....
Hvis du tilbyder Thomas X tusinde kroner, er jeg sikker på han gerne vil lave en ny version der kan ligepræcis det du ønsker....
Når du spørger om du risikerer noget når/hvis du nedgraderer..... ja.... men ikke det store... hvis vi ser bort fra de punkter jeg allerede tidligere har nævnt med frames, og autopil, er de to største ændringer du skal foretage dig, at se syntaksen for hvordan du fodrer menuen i v3, og at v3 ikke bruger stylesheets på samme måde
Ved du hvad, bamze, jeg synes det er for stort et arbejde at skulle lave det hele om, så jeg må vente det halve års tid på en opgradering fra Thomas :o/ Så kan jeg også bibeholde mine pile.
Det er pænt af dig. Men jeg tror jeg venter. Jeg har endelig fået sat det sk...godt op, og det ser sk...godt ud, og det virker bare sk....godt. Jeg var som sagt lidt pissed over, at menuen bliver aktiveret, bare du går i Foretrukne, adresselinien or whatever.
Jeg fik ikke en løsning på mit spørgsmål. Er det i orden hvis vi deler i porten? :o)
Men det er snart ved at være sengetid... der er jo en sidste arbejdsdag inden en nørdeweekend.. (kæresten er på arbejde, og datteren hos sin moder...).......
Hvis der ikke er andet du kan bruge min hjælp til, vil jeg takke af for denne gang, og undskylde at jeg kom til at svare dig forkert, da jeg troede du allerede kørte med v3........
Men det må vidst være tid til at lukke spørgsmålet.. Om du vil give point eller ej, må du selv om.... jeg har jo reelt ikke svaret på dit spørgsmål, men håber da jeg har hjulpet dig alligevel.... om ikke andet med at afklare nogle ting...
Det er helt fint, du skal have 1000 tak for hjælpen. Det er fedt med nogen der kan deres kram inden for deres område. Det er ikke SÅ tit man ser det på Eksperten mere, synes jeg :o/
Jeg er også daffet i seng. Du må nyde din frihed i weekenden :o)
coolmenus kender jeg efterhånden........ damn jeg har brugt mange timer på at fiddle med den.... ikke mindst lave en configurator til den i lotus notes........ det var lidt et helvede........ men det lykkedes og resultatet blev godt........
bamze, jeg synes den opfører sig lidt underligt i 800 x 600, hvis der er en lang undermenu:
Jeg har en menu i level0 med ikke ret mange punkter
Jeg har en undermenu i level1 med en del (temmelig mange) punkter. Nu bliver menuen ikke placeret i den afstand, som den skal. Den er faktisk klinet næsten helt op ad menuen (level0), og den rager nu langt op i stedet for at gå nedad, som den ellers plejer at gøre. Er man heldig, kan man lige fange den næste undermenu i venstre side af hovedmenuen (level0). PLUS, at den ikke skjuler select-boksen længere. Hvad ............. dulen er der nu galt? Det er første gang jeg har prøvet den af i 800 x 600. Jeg ved der er mange, som bruger 800 x 600.
en god ide er at udnytte muligheden med at kategorisere, så man ikke får alt for lange menuer
du kan på hvert niveau i hver af dine menuer, vælge hvilken vej underpunkter skal komme frem,.. det er den align property du kan se......... MEN.......... hvis du har valgt at dine menuer skal understøtte pagecheck, vil menuen chekke om der er plads nok til at folde menuen ud, er der ikke det, vil den forsøge at folde ud til modsat side..... hvor den ikke chekker....... det kan i nogle tilfælde give nogle sjove,, knapt så ønskede effekter.......
Der er samtidig to parametre offsetX og offsetY , som specificerer forskydning fra det punkt du står på til et eventuelt underniveau.....
Ved at lade menuerne lappe ind over hinanden, bliver det knapt så slemt når den pludselig skifter side.......
Den skulle gerne skjule alle select boxe der går i vejen for menuen.... alternativt kan du gøre det selv i parameteren onmouseover som du kan specificere til hvert enkelt menupunkt.......
Håber det var svar på dine spørgsmål..... tjekker mail løbende i løbet af aftenen, hvis gud og tdc vil...... og skal nok prøve at svare på det lukkede spørgsmål ;-PPP
Tak for det, det ser fornuftigt ud. Jeg har dog kigget på noget af det, men jeg kigger på det igen senere. Mange tak :o)
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.