-- man skulle ikke tro, at de havde haft professionelle på den menu ...
-- men ideen er meget simpel, du har din menu med punkterne, når så en mus føres over, skifter det aktuelle elements baggrund, og alle andre elementers nulstilles (det har de på mærsk-siden løst på den måde, at de har 7 forskellige udgaver, det synes jeg er uprofessionelt !-)
-- i samme moment kan man så vise eller skjule et lag med en undermenu !o]
Den reagerer da hurtigt ved skift! > Roeving, så burde du næsten lige give et eks. på hvordan en professionel ville gøre. Er det java, da ikke css - det reagerer ikke så hurtigt!
ok - vil ikke lave det i css - det reagerer ikke så hurtigt, synes jeg, men javascript ;) - der er jeg på bar bund - er vi da ude i noget onMouseover m.m. som jeg skal lægge på de enkelte <td>-tags i menu-tabellen?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>DHTMLMenu</title> <script type="text/javascript"> function highlight(e) { var evt = (e ? e : window.event); var obj = (evt.srcElement ? evt.srcElement : evt.target); if(obj) { var tdcell = obj.parentNode; tdcell.style.backgroundColor = obj.hcol; } }
function normal(e) { var evt = (e ? e : window.event); var obj = (evt.srcElement ? evt.srcElement : evt.target); if(obj) { var tdcell = obj.parentNode; tdcell.style.backgroundColor = ""; } }
Tjah, hvis jeg skulle lave sådan noget, ville jeg jo nok medsende elementet for at undgå problemerne med de forskellige event-modeller (skal man også dække andre browsere end IE og Geckoerne, mener jeg, man skal endnu længere ud !-)
OK, min tanke var at det stadig ville fungere (dog ikke med denne funktionalitet), hvis browseren ikke understøttede javascript, men man får nok scriptfejl i andre browsertyper, hvor evt.target eller evt.srcElement ikke er understøttet (har kun testet i IE og FF).
Det jeg godt kan lide ved denne fremgangsmåde er at koden ikke griber ind i HTML-koden (andet end at links får en klasse som jeg kan identificere de relevante links på)...
> SOftspot - det ser svært ud! Satser i første omgang på css-løsningen, men har da et par spgm.? Den skifter først farve, når musen føres over teksten - kan det ikke ske bare den rører feltet?
Og hvordan styrer jeg bredden af feltene, fx at de skal være ligeså store som den tekst, der fyldes i -
Ja, men det er jo lavet, så du behøver vel ikke bekymre dig om hvor svært det er...? ;)
Felterne udvider sig med teksten (jeg forstår vist ikke rigtig dit spm.). Du kan naturligvis stadig styre layout med CSS hvad angår margin, padding osv.
>Roeving - det er måske fordi du kun siger at den skal opføre sig som et block element, når den føres over linket?
Mht. teksten - så er det bare fordi, at den deler tabellen op i 5 lige store dele?
> Softspot - jeg prøver din metode bag efter, hvis ikke css virker! - Prøver ellers lige at kopiere dit ind i et html-dokument, og da virkede det ikke.
Hmm... hvis du tager det jeg har postet og paster over i et nyt html-dokument, fungerer det så? Hvis ja, så vil jeg gætte på at du mangler et eller andet i dit dokument, f.eks. class på de links der skal aktiveres, eller at links ligger i en tabelcelle...
Jeg kan se at der er "stjålet" et anførselstegn i alle links' href da jeg pastede koden ind på eksperten... kan det være det der ikke fungerer for dig når du tager udgangspunkt i min kode?
>Softspot - ja det var det - ! Hvis man kan lave ordentlig typografi på den, så kan det jo være man skulle bruge den - eller den virkede måske ikke i alle browsere.?
Og denne skulle virke i endnu flere (nutidige !-) browsere:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>DHTMLMenu</title> <script type="text/javascript"> function highlight(obj){ if(obj){ var tdcell = obj.parentNode; tdcell.style.backgroundColor = obj.hcol; } }
function normal(obj){ if(obj){ var tdcell = obj.parentNode; tdcell.style.backgroundColor = ""; } }
Ok, prøver den lige - men til jer begge - hvis brugeren (som tilfældet sikkert ofte er) ikke tillader aktivt-X elementer - eller hvad det indhold nu hedder - så virker menuen ikke, vel? - Det er da ikke smart? - men prøver lige...
Mange tak for hjælpen - I kan begge jeres grej! - Sidder lige nu og kæmper med de kanter - jeg har 2 tabeller: 1 med links'ne og en med hele den horisontale menu-stykke. Derved fremkommer dobbel-kantlinje, når links kanten støder på menu-kanten....hmm? Smid et svar - begge to!
Giv border-left på den omkransende tabel en border og så border på border-top, border-right og border-bottom på selve menu-cellerne. Det burde løse dobbeltborder-problemet (med mindre den omkransende tabel har mere indhold en menuen).
I har gjort hvad I skulle, men vil bare godt have gjort det ordentligt - kan en af jer få den til at passe - med den samme kode - men liggende i en menu-horisontal linje, med samme kant system som på maersk? - Jeg giver gerne 60 point ekstra for det! ;)
>Softspot- din kode er fin, dog laver den kun border i højre side, dvs. rundt om linksene - så var det, at jeg tænkte, at man måske kunne lave et punkt, som man lader strække sig lige fra menupunkt 1 og helt til venstre - men hvilken kode bruger man da - for at sige at dette felt skal optage resten af den plads, som menu punkterne ikke optager?
Jeg har smidt en div omkring menutabellen som har en fast bredde og flyder til venstre. Desuden har jeg fjernet en masse border fra selve cellerne, da det med denne metode kun er nødvendigt at have border på venstre-kanten af tabelcellerne.
Så nu er vi tæt på mål - - - har fået det til at se ud som ønsket - men i stedet for din faste bredde havde jeg width: 100%; - for menuen skal bare være ligeså lang som topbanner - Det virker bare ikke helt - så bliver menuen 1-2px længere end sidens bredde - men ændrede de 100% til en 2px mindre bredde end sidens og så stemmer pengene. Men er det en amatør-løsning? -
Nå, men det ser skam ud som det skal håber bare ikke at browsere'ne laver forskellige border str. for så vil det måske ændre sig - jeg ved ikke - det må tiden vise - lige nu - ligner den fuldstændig maersks! hehe - så skal den gøres fin og personlig! Tak for hjælpen - hvordan giver jeg dig nemmest 60 point?
Mange tak for hjælpen! Jeg er skam meget taknemmelig. :)
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.