Avatar billede nicolai-hmw Nybegynder
27. oktober 2004 - 13:22 Der er 7 kommentarer

Forskellige typer links

Jeg har en funktion på en hjemmeside hvor den aktuelle side markeres ved at sidens menupunkt fremhæves. Jeg har valgt at hente designet fra en "class" funktion i et stylesheetdokumentet. Den aktuelle side defineres <body id="xx">, når body er x skal classfunktion bruges på dette link etc.

Det kører som smurt. Men nu opstår problemet. Foruden hyperlinksene i menuen har jeg nemlig 2 andre slags teksthyperlinks: Et almindeligt link uden dikkedarer, som designes via CSS + et link nr. 3 som skal have samme funktionalitet som menulinket, dvs. at linket skal være fremhævet hvis brugeren er inde på den side som linket henviser til.

Hvordan dælen gør jeg det? Jeg kan vel ikke indsætte flere body id....
Avatar billede skovenborg Nybegynder
27. oktober 2004 - 16:59 #1
det burde da kunne laves på samme måde som du gør med de de andre menulinks, fx:
BODY#xx A.link3xx
Du behøver jo ikke at kalde linkets klasse præcis det samme som body'ens id, hvis det var den teknik du tænkte på. Ellers er det jo muligt at give body'en flere forskellige klassenavne adskilt af mellemrum, hvis det er nødvendigt. Fx:
<body class="klasse1 klasse2">
Avatar billede nicolai-hmw Nybegynder
27. oktober 2004 - 17:32 #2
OK, mit spørgsmål var måske også lidt kryptisk. Jeg er helt med på din ide, desværre er det sådan at jeg henter linksene (der fungerer små menuer) fra en includefil.

Den samme menu figurerer på rigtig mange forskellige sider, så der skal altså være noget på siden som identificerer at den aktuelle side skal highlighte linket "X".
Avatar billede roenving Novice
27. oktober 2004 - 17:38 #3
Kan du ikke bare se om det link, som er i linket, er det, som den aktuelle adresse i adresselinjen er sat til ?-)
Avatar billede nicolai-hmw Nybegynder
27. oktober 2004 - 23:10 #4
Roenving - jooo, har du et konkret bud?
Avatar billede roenving Novice
27. oktober 2004 - 23:27 #5
<script type="text/javascript">
function showLink(){
  var l = document.links;
  for(i=0;l.length>i;i++){
    if(location.href.indexOf(l[i].href)>-1){
      l[i].style.textDecoration = 'underline';
      l[i].style.color = 'red';
      l[i].style.fontWeight = 'bold';
      break;
    }
  }
}
window.onload = showLink;
</script>

-- og bemærk, at jeg med vilje ikke skifter class, da det vil betyde, at hele optegningen af siden smides ud, og browseren starter forfra med at opbygge sit css-DOM-bibliotek !-)

-- det kan være nødvendigt at være mere specifik i matchningen af referencer, hvis du har nogen, som ligger inde i andre, f.eks. side.html og side.html?value=speciel
Avatar billede nicolai-hmw Nybegynder
01. november 2004 - 12:03 #6
Total respekt til Roenvig! 1000 tak for hjælpen!

Er du tosset det script vil lette opdatering af mine sider.
Avatar billede roenving Novice
01. november 2004 - 15:37 #7
Velbekomme '-)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester