19. maj 2008 - 11:41Der er
12 kommentarer og 2 løsninger
Hvordan får jeg et script på en side, til at markere et menupunkt
Jeg har en frambaseret side (det er fast defineret for projektet). Jeg har en menu i venstre side af siden, som skal have markeret hvilket menupunkt der er aktivt.
Spørgsmålet er så: hvordan får jeg lavet et script (på menuen eller på hver indholdsside), som markerer det aktuelle menupunkt, baseret på hvilken side der vises lige nu.
Årsagen er at man kan komme til siderne på forskellige måder, både via menuen og via links i indholdet, men jeg vil stadig gerne have at man kan se hvor i strukturen man er...
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Hvordan ser et link i menuen ud? Jeg ville lave et JavaScript, som løb alle menupunkterne igennem og sammenlignede deres HREF'er/URL-adresser med hovedframens adresse. Og når den fandt, det aktuelle punkt, kunne der evt. sættes en class på, som markerede linket korrekt.
<a style="font-family: Arial; font-size: 10 pt; text-transform: none" target="content" href="indhold/anvendelse.htm">Anvendelse</a> og hovedmenupunkterne har et id, men det kan jeg sagtens lave for alle menupunkter. Hvordan kunne det se ud i JavaScript med at gennemløbe?
Jeg ved ikke helt hvordan/hvilke data jeg får, når det er frame baseret...
F.eks. hvis du nu lægger et id="menu" på menubeholderen, som indeholder alle menulinksene, og har id="mainframe" på det frame, som indeholder indholdet:
var oFrameURL=top.getElementById("mainframe").contentWindow.location.href; var o=document.getElementById("menu");
for(var i=0;i<im.length;i++){ - kører alle a-elementer i menuen igennem.
if(oFrameURL.indexOf(im[i].getAttribute("href"))>-1){ - tjekker om framens url indeholder href'en fra linket.
im[i].className=im[i].class="markeret"; - sætter class="markeret" på linket, hvis det er aktivt. className skal bruges for at det virker i Internet Explorer.
var oFrameURL=top.getElementById("mainframe").contentWindow.location.href; for(var i=0,im=document.getElementById("menu").getElementsByTagName("a");i<im.length;i++)if(oFrameURL.indexOf(im[i].getAttribute("href"))>-1)im[i].className=im[i].class="markeret";
nu er det en løsning som kommer til at ligge på en cd og det væsentlige er sådan set at hvis der findes et menupunkt som passer til det valgte link i teksten, så skal det være markeret...
jeg tjekker løsningen senere i dag, hvis jeg kan nå det...
Hmmm... jeg har ikke rigtig held med det, jeg har prøvet 12:46 og 12:53 forslagene og omdøbt mainframe til "content" som er min indholdsframe.
jeg har et body element til min menu (som findes i leftmenu.html), der hedder "menu" og en dl der hedder "menu_new" som indeholder den menu der skal markeres.
Der sker bare ikke rigtig noget med menuen når jeg klikker på en indholdsfil, som har scriptet. Jeg har lavet en meget synlig css klasse, så jeg er sikker på at kunne se, hvis menupunktet bliver markeret.
sorry, dit svar blev ikke mailet, så jeg har først lige set det...
nej, ikke umiddelbart, som sagt er det ikke online nogen steder... men jeg kunne måske pakke en zip til dig, hvis der er noget passende sted jeg kan lægge den?
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.