Avatar billede Slettet bruger
14. oktober 2010 - 21:44 Der er 30 kommentarer og
1 løsning

Highlight menupunkter

Hej Eksperter,

Jeg kunne godt tænke mig at få highlightet mine menupunkter når jeg besøger den pågældende side.

Altså menupunktet skal forblive aktivt sålænge jeg er på siden.

På forhånd tak.
Avatar billede Slettet bruger
14. oktober 2010 - 22:10 #2
Virker umiddelbart ikke :/
Avatar billede majbom Novice
14. oktober 2010 - 22:18 #3
der er lidt svært at svare på uden at vide hvordan din side er bygget op...

men det grundlæggende er at tjekke på hvilken side der vises, og derpå highlighte dét menupunkt der linker til den side...
Avatar billede Slettet bruger
14. oktober 2010 - 22:25 #4
Har en menu.php fil:
function generateMenu() {

        $menu = array();
        $menu["home"] = "Start";
        $menu["about"] = "Om";
        $menu["contact"] = "Kontakt";
       
        return $menu;
}
index.php:
case "about": include("about.php"); break;
case "contact": include("contact.php");    break;
default:
case "home": include("home.php"); break;

Hjælp?
Avatar billede Slettet bruger
14. oktober 2010 - 22:27 #5
Prøv igen.
Avatar billede Slettet bruger
14. oktober 2010 - 22:30 #6
Kan du så ikke lige komme med et eksempel på det, ud fra ovenstående?
Avatar billede majbom Novice
14. oktober 2010 - 22:36 #7
og hvor bliver html'en til din menu så genereret?
Avatar billede Slettet bruger
14. oktober 2010 - 22:38 #8
$menu["home"] = "Start";
        $menu["about"] = "Om";
        $menu["contact"] = "Kontakt";
Det er teksterne - start, om og kontakt.
Avatar billede majbom Novice
14. oktober 2010 - 22:46 #9
ja det kan jeg se, men du må have noget der genererer noget html-kode, så menuen bliver vist - det hjælper jo ikke meget med et array, hvis ikke det bliver behandlet til output...
Avatar billede Slettet bruger
14. oktober 2010 - 22:58 #10
<?php
foreach (generateMenu() as $link => $name) {
echo '<a class="menupunkter" href="?section='. $link .'">'. $name .'</a>';
echo '&emsp;&emsp;';
}
?>
Avatar billede majbom Novice
14. oktober 2010 - 23:09 #11
det er jo svært at vide hvad der ligger hvor og hvor mange filer det er fordelt i...

men essensen er at du skal have $_GET['section'] med til din kode der genererer html'en, så den kan sætte en anden klasse eller style på det punkt der er valgt...
Avatar billede Slettet bruger
14. oktober 2010 - 23:14 #12
<?php
switch($_GET["section"]) {
case "about": include("about.php"); break;
case "contact": include("contact.php");    break;
case "password": include("password.php"); break;
default:
case "home": include("home.php"); break;
}
Avatar billede Slettet bruger
14. oktober 2010 - 23:49 #13
Kan du hjælpe? Det jeg skrev er hvad jeg udskriver i min index.php
Avatar billede wanze Nybegynder
15. oktober 2010 - 00:22 #14
<?php 
foreach (generateMenu() as $link => $name) {
echo '<a class="menupunkter'.($_GET['section']==$link)?' active':''" href="?section='. $link .'">'. $name .'</a>';
echo '&#8195;&#8195;';
}
?>


I din CSS-fil har du så noget lignende:
.active {
    font-weight: bold;
}
Avatar billede cronaldo Nybegynder
15. oktober 2010 - 11:14 #15
Lige for at du ikke får fejl første gang du bruger wanze's eksempel, skal det nok være:


<?php
foreach (generateMenu() as $link => $name) {
echo '<a class="menupunkter'.($_GET['section']==$link)?' active':'').'" href="?section='. $link .'">'. $name .'</a>';
echo '&#8195;&#8195;';
}
?>
Avatar billede kasbas91 Nybegynder
15. oktober 2010 - 14:04 #16
prøv dette:

$output = "<li"; if(@$_GET['id'] == $dbFetch['id']) { $output .= ' class="selected"'; } $output .= "><a href='index.php?id=".$dbFetch['id'].">$dbFetch[title]</a></li>";
echo $output;

Jeg ved ikke om det er det du mangler...
Avatar billede Slettet bruger
15. oktober 2010 - 20:15 #17
Synes ikke rigtigt det virker?!
Avatar billede wanze Nybegynder
15. oktober 2010 - 20:21 #18
Det er en meget dårlig fejlbeskrivelse. Dels fordi der er kommet adskillige løsningsforslag, du beskriver ikke hvilke, du forsøger med, eller hvad der er galt.
Avatar billede Slettet bruger
15. oktober 2010 - 20:30 #19
beklager, men har forsøgt med begge af de sidste forslag fra hhv. cronaldo og kasbas
Avatar billede Slettet bruger
15. oktober 2010 - 20:44 #20
cronaldo: den kommer med følgende fejl: Parse error: syntax error, unexpected ')', expecting ',' or ';' in ....
Avatar billede majbom Novice
15. oktober 2010 - 21:16 #21
cronaldo har osse fået en parantes for meget ind... prøv med

<?php 
foreach (generateMenu() as $link => $name) {
echo '<a class="menupunkter'.($_GET['section']==$link)?' active':''.'" href="?section='. $link .'">'. $name .'</a>';
echo '&#8195;&#8195;';
}
?>
Avatar billede Slettet bruger
15. oktober 2010 - 21:33 #22
så udskriver den bare "active" istedet for menupunkterne?!
Avatar billede Slettet bruger
15. oktober 2010 - 23:08 #23
splazz kan du hjælpe?
Avatar billede kasbas91 Nybegynder
15. oktober 2010 - 23:51 #24
Hej, hvorfor laver du dine menupunkter sådan der, istedet for en dynamisk menu, hentet fra en database. Og så kan du bruge den kode jeg har skrevet her inde, du kan se den kode i brug her:

http://portfolio.medieskolerne.dk/port001/index.php?ParId=1&ParIdPage=1

Det er den røde farve der er highlight... ;P..

Håber du kan bruge det her til noget...

Du kan se koden her, hvor jeg har kommenteret den lidt...

http://pastebin.com/k0L42dwr
Avatar billede Slettet bruger
15. oktober 2010 - 23:55 #25
Ja okay - Men er det ikke muligt at lave noget lignende ud fra den nuværende menuopbygning jeg har?
Avatar billede kasbas91 Nybegynder
16. oktober 2010 - 00:26 #26
Hmm, jeg ved ikke lige hvordan dit er sat op.

Men jeg har et eksempel her, som fungere...

Du kan tjekke det ud her:

http://prowdesign.dk/hightlight.php

Du må gerne tage koden hvis du kan bruge den, men det er mit

eksempel... :

http://pastebin.com/kvJMKrK2
Avatar billede majbom Novice
16. oktober 2010 - 09:40 #27
ja der er da lige en fejl eller 2...

prøv med:

foreach ($menu as $link => $name) {
  echo '<a class="menupunkter'.(($_GET['section']==$link) ? ' active' : '').'" href="?section='. $link .'">'. $name .'</a>';
  echo '&#8195;&#8195;';
}
Avatar billede majbom Novice
10. november 2010 - 14:22 #28
kom du videre?
Avatar billede Slettet bruger
22. februar 2012 - 12:30 #29
Nej droppede det - Lukker herfra
Avatar billede Slettet bruger
22. februar 2012 - 12:31 #30
Nej droppede det - Lukker herfra
Avatar billede majbom Novice
22. februar 2012 - 19:03 #31
selv tak, det var da så lidt, skulle det være en anden gang!
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