Avatar billede kappel Nybegynder
23. december 2003 - 21:36 Der er 12 kommentarer og
1 løsning

3level menu bliver ikke vist ved include

Hvordan kan det være at på:http://kappel.kappels.net
bliver menuen ikke vist.
Men hvis man skriver: http://kappel.kappels.net/menu/3level.htm bliver den vist fint?

3level.htm ser således ud:
<html>
<title>Menu</title>
<script language="JavaScript" src="3level_items.js"></script>
<script language="JavaScript" src="3level_menu.js"></script>
<link rel="stylesheet" href="3level.css">

<body>
hvorfor sker der ingenting
<script language="JavaScript">
create_menu('Kappels.net',Link,Prop);
</script>

</body>
</html>

og index.php ser således ud omkring menuen:
<div id="menu">
<?php include('menu/3level.htm'); ?>
menu
</div>

Hvordan kan det være?

/kappel
Avatar billede htm Nybegynder
23. december 2003 - 21:40 #1
Når du inkluderer med php vil den gå ud fra den mappe som dit php dokument der inkluderer er i. derfor forespørger den js-filerne uden for mappen menu.

Dette skulle være ok:

<html>
<title>Menu</title>
<script language="JavaScript" src="menu/3level_items.js"></script>
<script language="JavaScript" src="menu/3level_menu.js"></script>
<link rel="stylesheet" href="menu/3level.css">

<body>
hvorfor sker der ingenting
<script language="JavaScript">
create_menu('Kappels.net',Link,Prop);
</script>

</body>
</html>
Avatar billede kappel Nybegynder
24. december 2003 - 09:45 #2
alletiders - men nu rykker layoutet!

Se her http://kappel.kappels.net - content i midten?
Avatar billede kappel Nybegynder
24. december 2003 - 10:17 #3
Menu.js ser således ud i starten

function create_menu(id,arr,parr)
{
document.write("<table><tr><td><div style='position:relative;'>");
vtop = 0;
open_div = 0
c_div = 1;
for(i=0;i<arr.length;i++)
{
  if(arr[i-1])
  {
  if(arr[i][0] < arr[i-1][0]) {document.write("</div>");open_div--;}
  if((open_div != 0) && (arr[i][0] == 1)) {document.write("</div>");open_div--;
  if((open_div == 1) && (arr[i][0] ==1)) document.write("</div>");
}
Avatar billede htm Nybegynder
24. december 2003 - 12:30 #4
For de første så skal du få styr på standarderne. Du må ikke inkludere en side der har <html> etc. i et eksisterende dokument der allerede har dette. For det andet skal du definere en fast bredde for din menu, så det trejde led også kan være der.
Avatar billede kappel Nybegynder
24. december 2003 - 12:45 #5
?? - har du et forslag?

Det jeg inkluderer er: 3level.htm
de andre filer er: 3level_menu.htm, 3level_items.htm og 3level.css

"Du må ikke inkludere en side der har <html> etc. i et eksisterende dokument der allerede har dette"

Hvor er det?

/kappel
Avatar billede htm Nybegynder
24. december 2003 - 12:54 #6
Prøv og smut forbi denne her: http://www.html.dk/tutorials/html/

Et html-dokument er ganske bestemt bygget op. med start header body og slut
eks:
<html>
<head>
<title>Sidens titel</title>
</head>
<body>
Sidens tekst
</body>
</html>

Som du ser er <html> start <head> er headeren og alt her i mellem er header.
<body> er selve dokumentet.

I 3level.htm har du det hele fra <html> etc. men det har du også i index.php.

Ville anbefale dig at fjerne det fra 3level.htm, så denne kun indeholder selve menuen:

<script language="JavaScript">
create_menu('Kappels.net',Link,Prop);
</script>
Avatar billede kappel Nybegynder
25. december 2003 - 12:01 #7
Det er jeg med på - kunne bare ikke gennemkue hvad du mente.
Kan den stadig hedde 3level.htm?

Og hvorhenne skal jeg sætte width for at gøre den smallere?
Avatar billede kappel Nybegynder
25. december 2003 - 23:07 #8
Denne fil laver en tabel der er for bred, hvordan gør man sådan at tabellen bliver en bestemt bredde eller spdan at den selv bestesmmer bredden udfra menuens størrelse.Her er filen:

function create_menu(id,arr,parr)
{
document.write("<table><tr><td><div style='position:relative;'>");
vtop = 0;
open_div = 0
c_div = 1;
for(i=0;i<arr.length;i++)
{
  if(arr[i-1])
  {
  if(arr[i][0] < arr[i-1][0]) {document.write("</div>");open_div--;}
  if((open_div != 0) && (arr[i][0] == 1)) {document.write("</div>");open_div--;
  if((open_div == 1) && (arr[i][0] ==1)) document.write("</div>");
}
  }
  height = parr[(arr[i][1]-1)];
  if(arr[i][1] == 1) img = l1.src;
  else{if (arr[i][1] == 2) img = l2.src;
  else img = l3.src;}
  document.write("<div style='top:"+vtop+";height:"+height+"' class='level"+arr[i][0]+"'>")
  document.write("<img src="+img+" border=0 hspace=3 vspace=1 ");
  if(arr[i+1]) {if(arr[i][0] < arr[i+1][0]) document.write("onclick=change('"+ id +"_"+ c_div+"') style='cursor:hand'");}
  document.write("><a href=\"");
  if(arr[i][3] == null) document.write("java script:change('"+ id +"_"+ c_div+"')\"");
  else document.write(arr[i][3] +"\" target='"+arr[i][4]+"'");
  document.write(">"+arr[i][2]+"</a></div>");
  vtop += height;
  if(arr[i+1])
  {
  if(arr[i][0] < arr[i+1][0]) {document.write("<div style='display:none;' id='"+id+"_"+c_div+"'>");open_div++;c_div++;}
  }}
for(i=0;i<open_div;i++) document.write("</div></td></tr></table>");

document.write("</div>");
}
function change(id)
{
obj = document.getElementById(id);
if(obj.style.display == "")
{
obj.style.display = "none";
}
else
{
  obj.style.display = "";
}
}
Avatar billede htm Nybegynder
26. december 2003 - 00:05 #9
Jeg gider ikke lige og kigge din kode igennem - men mon ikke du kan sætte en bredde på den div der omkranser div'en.

Smid eks dette i toppen af din index.php mellem <head> og </head>

<style type="text/css">
#menu {
  width: 200px;
}
</style>

de 200px justerer du bare så det passer til menuen når den er foldet ud.
Avatar billede kappel Nybegynder
28. december 2003 - 15:05 #10
Jeg bruger i forvejen et eksternt stylesheet, hvor menu er defineret:

#menu{
    position:absolute;
    left:125px;
    top:110px;
    width:110px;
    height:390px;
    background-color: #F5FFFA;
}

/kappel
Avatar billede htm Nybegynder
28. december 2003 - 15:19 #11
så tilpasser du bredden så den passer til menuen når der er foldet helt ud.
Avatar billede kappel Nybegynder
28. december 2003 - 15:53 #12
Jamen problmet er, at når den er foldet ud er den alt for stor (ca. dobbelt så stor - dvs det har ingen indflydelse om jeg sætter width til 200px).

se: http://kappel.kappels.net

/kappel
Avatar billede kappel Nybegynder
13. januar 2004 - 17:03 #13
Stadig problemer!!!
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