Avatar billede louis_dk Nybegynder
08. januar 2006 - 21:34 Der er 13 kommentarer

Menu-script

Hej
Jeg vil gerne have en menu der kan være på flere forskellige sider, men rettes fra en side/fil. Når mn er inde i et punkt i menuen skal det punkt man er inde på oppe i menu ikke være understreget og være et link.
Avatar billede brego Nybegynder
08. januar 2006 - 21:41 #1
Jeg kan lave det her til dig for 50kr, men ærgelig talt, kan du selv lave det meget nemt. Kig efter include og $_GET i manualen.
Avatar billede webstuff Nybegynder
08. januar 2006 - 21:43 #2
Du laver en menu i en fil, som du kan kalde
#menu.php
<a href="side1.html" class="menu">Side1</a><br>
<a href="side2.html" class="menu">Side2</a><br>
<a href="side3.html" class="menu">Side3</a><br>
<a href="side4.html" class="menu">Side4</a><br>

Den skal ikke indeholde andet end det, så på alle dine sider hvor du vil have menuen med skriver du:

<? include "menu.php"; ?>

og i dit stylesheet skriver du sådan her

a.menu{
text-decoration:underline;
}
a.menu:visited{
text-decoration:underline;
}
a.menu:hover{
text-decoration:none;
}
a.menu:active{
text-decoration:none;
}
Avatar billede brego Nybegynder
08. januar 2006 - 21:48 #3
Du læste hans post ikke præcist nok, webstuff. Du skal have minimum et css klasse til, og en måde at tjekke på hvilken side vi er.
Avatar billede webstuff Nybegynder
08. januar 2006 - 21:57 #4
Efter hvad jeg kan se så gør mit script det han vil have..?
Avatar billede brego Nybegynder
08. januar 2006 - 22:12 #5
"Når mn er inde i et punkt i menuen skal det punkt man er inde på oppe i menu ikke være understreget og være et link."
Du kan ikke opnå det igennem ren css. Pseudoklassen active vil gøre at når man klikke på et menupunkt vile den holde op med at være understreget. Kig eventuelt på http://www.html.dk/tutorials/css/lektion6.asp#active
Avatar billede webstuff Nybegynder
08. januar 2006 - 22:19 #6
if($_SERVER['PHP_SELF'] == '/forside.html'={
echo "<a href=\"forside.html\">Forside</a>";
} else {
echo "<a href=\"forside.html\"><u>Forside</u></a>";
}
Avatar billede webstuff Nybegynder
08. januar 2006 - 22:20 #7
if($_SERVER['PHP_SELF'] == '/forside.html'){
echo "<a href=\"forside.html\">Forside</a>";
} else {
echo "<a href=\"forside.html\"><u>Forside</u></a>";
}

Sådan skulle det se ud :-)
Avatar billede brego Nybegynder
08. januar 2006 - 22:33 #8
Det er meget lamt løsning - det vil kræve mindre kode at skrive:

<?php
$here = basename($_SERVER['PHP_SELF']);
?>
<a href="forside.html"<?php if($here=='forside.html') echo 'class="active"'?>>Forside</a>

Og i css'en:

a.active
{
    text-decoration: none;
}
Avatar billede webstuff Nybegynder
08. januar 2006 - 23:34 #9
hvis han bruger dit script, så vil linket blive understreget lige så snart brugeren trykker et vilkårligt sted på siden ;-)
Avatar billede webstuff Nybegynder
08. januar 2006 - 23:35 #10
Eller nej, den ville den så ikke.
Du har ret! De gør det samme :-)
Avatar billede louis_dk Nybegynder
09. januar 2006 - 15:20 #11
Undskyld, en skrivefejl. Tesksten skal ikke være understreget og ikke være et link.
Avatar billede louis_dk Nybegynder
09. januar 2006 - 15:22 #12
Den skal ligne det jeg har på www.louis.dk og www.underholdning.louis.dk i toppen. lægger det nye design på de andre sider når jeg har lavet menuen i PHP.
Avatar billede johnstigers Seniormester
16. januar 2006 - 23:52 #13
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