Gå til innhold

Det å utivde en meny.


Anbefalte innlegg

Driver å gjør om litt på EndeligFerie.com. Har lagt ut selve designet (ikke titt, det er ikke ferdig ennå :p, dessuten fungerer nesten ingenting der akkurat nå )

 

Menyen i dag er som følger:

 

Hovedsiden

Forum

Nyheter

 

Europa

Afrika

Asia

Nord-Amerika

osv...

 

Jeg kunne tenkt meg at hvis noen klikket på Europa så utvidet menyen seg:

 

Hovedsiden

Forum

Nyheter

 

Europa

- Irland

- Island

- Italia

- Norge

osv...

 

Afrika

Asia

Nord-Amerika

osv...

 

Jeg prøvde selv, men siden jeg har includeskript på hovedsiden prøvde jeg å lage kopier av denne hovedsiden, en for hver verdensdel. Slik at index_europa.php lignet den jeg skrev over her. Dette fungerte egentlig greit, men når jeg klikket på Europa og klikket så på Irland, så forsvant den utvidede menyen og man fikk tilbake den enkle. Det syns jeg ble litt tungvint, spesielt hvis en bruker skal klikke seg igjennom landene i Europa og må "åpne" den utvidede menyen for hvert land.

 

Hvordan får jeg menyen til å bli stående? Klikker jeg på Irland, skal menyen fortsatt være utvidet. Klikker jeg på Asia, skal Asiamenyen utvide seg, mens Europa da blir lukket.

 

Må jeg gjøre noen endringer i includescriptet på verdensdelindexene?

 

Litt off (s)-topic, men kunne noen svare meg på denne?

Endret av EndeligFerie
Lenke til kommentar
Videoannonse
Annonse
Skulle vel kunne la seg gjøre med noe php, vel?

 

Kanskje jeg får mer respons i PHP-forumet? Klarte det jo nesten selv, men nesten er ikke godt nok, og siden de fleste her inne har større peiling en meg på slikt, tenkte jeg kanskje det var noen kloke hoder her inne, litt større aktivitet her inne også... :roll:

Endret av EndeligFerie
Lenke til kommentar

Vel, det er to muligheter, PHP og javascript.

 

PHP:

Når du klikker på Europa, så har denne linken f.eks en ?side=europa. I menyen så har du en if-setning hvor du sjekker om side=europa, på denne måten kan du da echo'e ut resten av undermenyen til europa.

 

Javascript:

Når du klikker på linken, onclick event e.l., kan du bytte ut style.display på undermenyen til block f.eks.

 

Eksempel: (koden er utestet)

<script type="text/javascript">
<!--
function switchDisplay(obj)
{
obj = document.getElementById(obj);
if(obj)
{
 if(obj.style.display == "none")
{
 obj.style.display = "block";
}
else
{
 obj.style.display = "none";
}
}
}
-->
</script>

<div id="meny">
<span onclick="switchDisplay('europa-submenu')">Europa</span>
<div id="europa-submenu" style="display:none">masse linker</div>
</div>

 

edit: glemte en ting i scriptet ;)

Endret av FuLu
Lenke til kommentar

Driver å fikler litt med php nå... Prøver jeg lenge nok skal jeg kanskje få det til, men det kommer sikkert til å bli en litt tungvint løsning. Javascript vil vel kanskje ikke fungere like greit på alle nettlesere, og vil vel ta større plass også?

 

Det er vel slik at hvis jeg skal ha kopier av index.php så må vel disse ligge i rotkatalogen, men da overstyrer på en måte index.php de andre sidene, for går jeg inn på Europa (nå fungerer ikke det på selve side, for nå har jeg tuklet litt for mye der, men i går fikk jeg det til), så kommer jeg jo inn på index_europa.php, men klikker jeg videre på et land så kommer oppsettet til index.php frem og index_europa.php blir borte.

 

Men kanskje noen har en annen løsning på problemet enn å legge landene inn i venstremenyen? En drop-down liste er vel ikke særlig pent?

Endret av EndeligFerie
Lenke til kommentar
Vil noe så enkelt som dette funke?:

 

<a href="index.php?menykat=europa">Europa</a>

 

<?php

 

if ($menykat == "europa") {

echo"EUROPA-UNDERMENY";

}

 

?>

Nei, men noe ala dette vil funke:

 

<a href="index.php?menykat=europa">Europa</a>

 

<?php

if ($_GET['menykat'] == "europa") {

include "europa.inc";

}

 

?>

Lenke til kommentar

Eksempel i ColdFusion :cool: :

 

 

<a href="index.cfm?menykat=europa">Europa</a>

<!--- sette en default meny i tilfelle ingen URL-variabel er gitt --->
<cfparam default="" name="URL.menykat">

<!--- sjekker om meny-fila eksisterer --->
<cfif FileExists("#ExpandPath("./")#/_#URL.menykat#.cfm")>

<!--- Hvis den eksisterer, inkluderer vi den --->
<cfinclude template="_#URL.menykat#.cfm">

</cfif>

 

Kunne ikke dy meg... ;) hehe CF :love:

 

NB! serveren må kunne kjøre coldfusion for at dette skal funke..

noe hosten din antagelig ikke gjør..

Men tok nå det med alikevel for å vise at det ikke bare er php der ute.. ;):p

Lenke til kommentar
Nei, men noe ala dette vil funke:

 

<a href="index.php?menykat=europa">Europa</a>

 

<?php

if ($_GET['menykat'] == "europa") {

include "europa.inc";

}

 

?>

 

Er det bare å klæsje denne inn i index.php på hyperkoblingen til menyknappen Europa, eller er det noe spesielt jeg må gjøre for å få dette til å fungere? europa.inc for eksempel, hva er det? Er litt grønn på dette... :whistle:

 

cfenzo, siden ligger hos Nordic Hosting, vet ikke om de serverne deres støtter CF...

Endret av EndeligFerie
Lenke til kommentar
Er det bare å klæsje denne inn i index.php på hyperkoblingen til menyknappen Europa, eller er det noe spesielt jeg må gjøre for å få dette til å fungere? europa.inc for eksempel, hva er det? Er litt grønn på dette...  :whistle:

Bruk systemet som maaange bruker, der dette er ideen.

 

EN index.php fil. Denne filen er den du møter når du klikkerdeg inn på endeligferie.com.

 

index.php er interfacen.

Slik kan det se ut, i hoved-text-feltet.

<body>
<div id="main">
<?php 
$innholdet = "content"; 
$id = $_GET["id"];  

if (isset($_GET["id"])) { 
   if (file_exists("./$innholdet/$id.txt")) 
       print file_get_contents("./$innholdet/$id.txt"); 
   elseif (!file_exists("./$innholdet/$id.txt")) 
       echo "<p><b>Server error 404</b><br> 
       Cannot locate
http://{$_SERVER['HTTP_HOST']}{$_SERVER['PHP_SELF']}?id=$id</p>"; 
} 
else {
 print file_get_contents("./$innholdet/news.php"); 
}
?>
</div> ...

 

Så ligger alt du vil inkludere i "innholdet/".

For at det skal virke, lager du bare lenkene i menyen som <a href="index.php?id=europa">

 

:w00t:

 

edit1: .inc var bare for å være 1337. Forkortelse for include. :)

edit2: det at jeg ikke har brukt include, var fordi jeg ikke hadde støtte for det på min server en gang i tiden. Men det skal ikke mye forandringer til.

Endret av (jonas)
Lenke til kommentar
Bruk systemet som maaange bruker, der dette er ideen.

 

EN index.php fil. Denne filen er den du møter når du klikkerdeg inn på endeligferie.com.

 

index.php er interfacen.

Slik kan det se ut, i hoved-text-feltet.

<body>
<div id="main">
<?php 
$innholdet = "content"; 
$id = $_GET["id"];  

if (isset($_GET["id"])) { 
   if (file_exists("./$innholdet/$id.txt")) 
       print file_get_contents("./$innholdet/$id.txt"); 
   elseif (!file_exists("./$innholdet/$id.txt")) 
       echo "<p><b>Server error 404</b><br> 
       Cannot locate
http://{$_SERVER['HTTP_HOST']}{$_SERVER['PHP_SELF']}?id=$id</p>"; 
} 
else {
 print file_get_contents("./$innholdet/news.php"); 
}
?>
</div> ...

 

Så ligger alt du vil inkludere i "innholdet/".

For at det skal virke, lager du bare lenkene i menyen som <a href="index.php?id=europa">

 

 

eller event.

 

<body>
<!-- meny --->
<div id="nav">
meny here.. tamtidam..
</div>
<!-- sub-meny -->
<div id="subnav">
<?php 
$nav = "meny"; 
$id = $_GET["id"];  

if (isset($_GET["id"])) { 
  if (file_exists("./$nav/$id.php")) 
      include "./$nav/$id.php"; 
}
?>
</div>
</body>

 

Vil si at http 404-erroren ikke hører hjemme på en sub-meny, som enten er der, eller ikke.. ;)

Endret av cfenzo
Lenke til kommentar
<body>

<!-- meny --->

<div id="nav">

Europamenyen, eller det "vanlige"

</div>

<!-- sub-meny -->

<div id="subnav">

<?php

$nav = "meny";

$id = $_GET["id"]; 

 

if (isset($_GET["id"])) {

  if (file_exists("./$nav/$id.php"))

      include "./$nav/$id.php";

}

?>

</div>

</body>

 

 

Den koden legges da inn i koden i tabellen der menyen er? Hmmm. Kunne du forklart litt nærmere hva jeg må gjøre? Tok en titt på koden til tabellen min. Den var grufull lang... Hadde liksom tenkt å lime den inn i posten her, men det kan jeg bare glemme tror jeg.

 

PS...

Eller skulle jeg hatt en horisontal meny under logoen, med verdensdelene bortover og trykket man på disse så datt det ned en liste med land. Har det ikke nylig vært en tråd om dette?

Endret av EndeligFerie
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...