Avatar billede lerchedahl Nybegynder
05. december 2001 - 10:04 Der er 21 kommentarer og
1 løsning

foldertree

Hej eksperter.

Jeg bruger denne her menu: http://www.friserverplads.dk/lerchedahl/menu/

Mit problem er, at når jeg folder et hovedpunkt ud, står der, at \'der er opstået en fejl på siden\' i statusbaren. Jeg kunne godt tænke mig at vide hvorfor den gør det og hvad jeg skal gøre for at fikse det. Derudover vil jeg godt vide hvor browserkompatibel den er, og hvis den ikke er særlig browservenlig, hvad der kan gøres for at forbedre det.

På forhånd tak
Lerchedahl
Avatar billede senj Nybegynder
05. december 2001 - 10:18 #1
Hej Lerchedahl

Jeg har set lidt på koden og de er linien \"document.all(subs[i]).style.pixelTop += move;\" der giver fejlen. Hvis du fjerne denne linie eller udkommentere den så virker koden hos mig - altså uden linien.

Jeg har fjernet src-kaldet i menuerne.

<html>
<head>
<title>foldertree</title>

<style type=\"text/css\">
body {
background-color: #F0F0F0;
}

a {
height: 15px;
font-family: verdana, arial;
font-size: 11px;
color: #003399;
text-decoration: none;
}

a:hover {
height: 15px;
font-family: verdana, arial;
font-size: 11px;
color: #000000;
text-decoration: none;
}

.title {
position: absolute;
width: 140px;
height: 20px;
left: 10px;
z-index: 10;
font-family: verdana, arial;
font-weight: bold;
font-size: 11px;
}

.submenu {
position: absolute;
left: 20px;
width: 140px;
height: 20px;
font-family: verdana, arial;
font-size: 11px;
visibility: hidden;
}
</style>

<SCRIPT LANGUAGE=\"JavaScript\">
<!--

var nom = 5; // Number of menus
var usePictures = 0;

var ttls = new Array();
var subs = new Array();
var lastn;
var lastmove;

if (document.layers) {
visible = \'show\';
hidden = \'hide\';
}
else
if (document.all) {
visible = \'visible\';
hidden = \'hidden\';
}
for (var i = 1; i <= nom; i++) {
ttls[i] = (\'title\' + i);
subs[i] = (\'submenu\' +i);
}
function picopen(n) {
title = (\'title\' + n);
pic = (\'pic\' + n);
if (document.layers) {
document.layers[title].document.images[pic].src = \"\";
}
else if (document.all) {
document.all(pic).src = \"\";
  }
}
function picclose(n) {
title = (\'title\' + n);
pic = (\'pic\' + n);
if (document.layers) {
document.layers[title].document.images[pic].src = \"\";
}
else if (document.all) {
document.all(pic).src = \"\";
  }
}
lastn = (nom + 1);
lastmove = 0;
function lasttoggle(n,move) {
if (n <= nom) {
menu = (\'submenu\' + n);
if (document.layers) {
submenu = document.layers[menu];
}
else if (document.all) {
submenu = document.all(menu).style;
}
if (submenu.visibility == visible) {
submenu.visibility = hidden;
for (var i = (n+1); i <= nom; i++) {
if (document.layers) {
document.layers[ttls[i]].top -= move;
document.layers[subs[i]].top -= move;
}
else if (document.all) {
document.all(ttls[i]).style.pixelTop -= move;
//document.all(subs[i]).style.pixelTop -= move;
            }
        }
      }
  }
}
function toggle(n,move) {
menu = (\'submenu\' + n);
if (document.layers) {
submenu = document.layers[menu];
}
else if (document.all) {
submenu = document.all(menu).style;
}
if (submenu.visibility == visible) {
submenu.visibility = hidden;
if (usePictures) picclose(n);
for (var i = (n+1); i <= nom; i++) {
if (document.layers) {
document.layers[ttls[i]].top -= move;
document.layers[subs[i]].top -= move;
}
else if (document.all) {
document.all(ttls[i]).style.pixelTop -= move;
//document.all(subs[i]).style.pixelTop -= move;
      }
  }
}
else {
submenu.visibility = visible;
if (usePictures) picopen(n);
if (lastn != n) {
lasttoggle(lastn,lastmove);
}
for (var i = (n+1); i <= nom; i++) {
if (document.layers) {
document.layers[ttls[i]].top += move;
document.layers[subs[i]].top += move;
}
if (document.all) {
document.all(ttls[i]).style.pixelTop += move;
//document.all(subs[i]).style.pixelTop += move;
      }
  }
}
lastn = n;
lastmove = move;
}
//-->
</script>

<script language=\'javascript\'>
<!--
function fixLinks() {
  if (!document.layers) {
    var linksArr = (document.all)? document.all.tags(\"A\")
                                  : document.getElementsByTagName(\"A\");
    for (i=0; i<linksArr.length; i++) {
      linksArr[i].onfocus = new Function(\"this.blur();\")
    }
  }
}
//-->
</script>

<script language=\'javascript\'>
<!--
function altLinks() {
  if (!document.layers) {
    var linksArr = (document.all)? document.all.tags(\"A\")
                                  : document.getElementsByTagName(\"A\");
    for (i=0; i<linksArr.length; i++) {
      linksArr[i].onmouseover = new Function(\"window.status=\'\'; return true\")
    }
  }
}
//-->
</script>

</head>

<body onLoad=\"fixLinks(); altLinks(); window.defaultStatus=\'\';\">

<div class=\"title\" id=\"title1\" style=\"top: 20px\">
<a href=\"#\" onclick=\"java script: toggle(1,65); return false\">Generelt</a>
</div>

<div class=\"submenu\" id=\"submenu1\" style=\"top: 40px\">
<a href=\"#\">Kalender / huskeliste</a><br>
<a href=\"#\">Blå Flag: a til z</a><br>
<a href=\"#\">I løbet af sæsonen</a><br>
<a href=\"#\">Blå Flag temaer</a>
</div>

<div class=\"title\" id=\"title2\" style=\"top: 40px\">
<a href=\"#\" onclick=\"java script: toggle(2,50); return false\">Stande</a>
</div>

<div class=\"submenu\" id=\"submenu2\" style=\"top: 60px\">
<a href=\"#\">Kriterier</a><br>
<a href=\"#\" target=\"indhold\">Ansøgningsprocedure</a><br>
<a href=\"#\">Checkliste</a><br>
</div>

<div class=\"title\" id=\"title3\" style=\"top: 60px\">
<a href=\"#\" onclick=\"java script: toggle(3,50); return false\">Havne</a>
</div>

<div class=\"submenu\" id=\"submenu3\" style=\"top: 80px\">
<a href=\"#\">Kriterier</a><br>
<a href=\"#\">Ansøgningsprocedure</a><br>
<a href=\"#\">Checkliste</a>
</div>

<div class=\"title\" id=\"title4\" style=\"top: 80px\">
<a href=\"#\" onclick=\"java script: toggle(4,50); return false\">Blå Flag materiale</a>
</div>

<div class=\"submenu\" id=\"submenu4\" style=\"top: 100px\">
<a href=\"#\">Bestilling</a><br>
<a href=\"#\">Inspiration</a><br>
<a href=\"#\">Logo og billedarkiv</a>
</div>

<div class=\"title\" id=\"title5\" style=\"top: 100px\">
<a href=\"#\">Sideoversigt</a>
</div>

</body>

</html>
Avatar billede lerchedahl Nybegynder
05. december 2001 - 10:32 #2
Tusind tak, nu virker det også her. Kan du ikke være rar lige at svare på den sidste del af spørgsmålet også, så får du alle point\'ne.

Hvis du ligger inde med en version af Netscape eller Opera eller andre browsere, gider du så ikke lige kigge, om den virker dér?

/lerchedahl
Avatar billede senj Nybegynder
05. december 2001 - 10:35 #3
Det kan jeg desvære ikke da jeg sidder på en maskien hvor jeg ikke har rettigheder til at skifte browser/installere overhovedet.

Hvis scriptet er et du har fået på en source side eller lignende, så pleger de at skrive om koden er borwserkompatibel.

/senj
Avatar billede lerchedahl Nybegynder
05. december 2001 - 10:37 #4
Hov! Jeg opdagede lige noget ærgeligt. En vigtig pointe ved menuen var, at når man foldede et menupunkt ud, blev det ved med at være udfoldet, også selvom man foldede et andet ud. Det gør den jo ikke mere :-(

Hvad kan jeg gøre for at ordne det?

/lerchedahl
Avatar billede cdc Novice
05. december 2001 - 10:38 #5
virker IKKE i NE 6 & NE 4.7

/cdc
Avatar billede lerchedahl Nybegynder
05. december 2001 - 10:39 #6
ok, jeg sidder også selv på arbejdet og har ikke adgang til noget som helst ;-P Du får pointne alligevel, hvis du lige kan fikse det med undermenuerne...

/lerchedahl
Avatar billede lerchedahl Nybegynder
05. december 2001 - 10:40 #7
/cdc >> ok, hvorfor ikke? hvad skal jeg rette for at det virker?
Avatar billede cdc Novice
05. december 2001 - 11:00 #8
Lerchedahl--> Sorry ved ikke, men det er noget med at du skal tilpasse den de forskellige browsers i dit script. NE, IE, Opera og Mac

I NE 4.7 åbner den sig, men det ser ikke godt ud, i NE 6 står det helt stille, browseren forstår ikke scriptet.

/cdc
Avatar billede lerchedahl Nybegynder
05. december 2001 - 11:05 #9
/cdc >> Ok. Jeg er bare ikke så god til javascript, så jeg kan ikke lige umiddelbart \'tilpasse den til de forskellige browsere\'... ;-)

Ellers tak fordi du gad kigge på den.

/lerchedahl
Avatar billede cdc Novice
05. december 2001 - 11:15 #10
/lerchedal--> Heller ikke mig, men det skal nok komme en ind og kigge på det, hvis du holder spørgsmålet åben, eller find et der kan køre i alle browsers, se evnt denne menu, der skulle virke hos alle, og sørger for at lukke når du klikker på et nyt.
http://www.dhtmlcentral.com/script/script25.asp

/cdc
Avatar billede lerchedahl Nybegynder
05. december 2001 - 11:22 #11
Det håber jeg på, altså at der kommer én og kigger den igennem...

Jeg vil helst beholde den menu som jeg har nu, da jeg har brugt en del tid på at tilpasse den osv.

Iøvrigt skulle menupunkterne *ikke* folde sig sammen igen, altså med mindre man specifikt trykker på dem igen. Det er det der er problemet i øjeblikket - et hovedmenupunk folder sig sammen når der trykkes på et andet...

/lerchedahl
Avatar billede cdc Novice
05. december 2001 - 11:45 #12
Good luck

Avatar billede lerchedahl Nybegynder
06. december 2001 - 10:11 #13
Jeg mangler stadigvæk at få menuen til at holde menupunkt #1 udfoldet, selvom man vælger #2 osv.

Og hvis nogen kan fortælle mig hvordan jeg optimerer koden til flest mulige browsere ville det være optimalt.

/lerchedahl
Avatar billede cdc Novice
06. december 2001 - 18:00 #14
http://www.ngk.subnet.dk/index2.html

Se denne menu, det er vel en sådan du søger

/cdc
Avatar billede lerchedahl Nybegynder
07. december 2001 - 09:26 #15
/cdc >> Ja, det er præcis sådan den skal manøvrere... Jeg kunne dog godt tænke mig at det virkede på den menu som jeg bruger i forvejen, jeg tror slet ikke det er så kompliceret hvis man har forstand på javascript...

Hvis det ikke kan lade sig gøre at fikse den menu jeg bruger i øjeblikket, vil jeg gerne vide hvor browserkompatibel \'din\' menu er. Har du testet den i f.eks. Netscape?

/lerchedahl
Avatar billede cdc Novice
07. december 2001 - 09:55 #16
menuen er ikke min....det var bare en jeg faldt over i går..

/cdc
Avatar billede lerchedahl Nybegynder
07. december 2001 - 10:11 #17
...hvorfor jeg skev \'\' uden om \"din\"...

derfor kunne det da godt være du havde testet den med NS...
Avatar billede cdc Novice
07. december 2001 - 10:22 #18
har lige testet den nu.....og........den virker IKKE

/cdc
Avatar billede lerchedahl Nybegynder
07. december 2001 - 11:01 #19
ok, så tror jeg jeg springer over ;-)

No offense, men jeg kan godt lide at være så browserkompatibel som muligt...

/lerchedahl
Avatar billede cdc Novice
07. december 2001 - 11:04 #20
det forstår jeg godt, det vil jeg også, og derfor irriterer dette spørgsål mig........ikke ondt ment, vil bare finde en løsning...

/cdc
Avatar billede cdc Novice
07. december 2001 - 11:09 #21
Har du prøvet at sætte denn øvers i dit script:
function lib_bwcheck(){ //Browsercheck (needed)
    this.ver=navigator.appVersion; this.agent=navigator.userAgent
    this.dom=document.getElementById?1:0
    this.ie5=(this.ver.indexOf(\"MSIE 5\")>-1 && this.dom)?1:0;
    this.ie6=(this.ver.indexOf(\"MSIE 6\")>-1 && this.dom)?1:0;
    this.ie4=(document.all && !this.dom)?1:0;
    this.ie=this.ie4||this.ie5||this.ie6
    this.mac=this.agent.indexOf(\"Mac\")>-1
    this.opera5=this.agent.indexOf(\"Opera 5\")>-1
    this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0;
    this.ns4=(document.layers && !this.dom)?1:0;
    this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5 || this.dom)
    return this
}
var bw=new lib_bwcheck() //Making browsercheck object

/cdc
Avatar billede lerchedahl Nybegynder
07. december 2001 - 13:37 #22
nej det har jeg ikke prøvet, hvad skal det browsercheck helt nøjagtigt gøre godt for... Jeg kan ikke umiddelbart se, at der er nogen konsekvenser hvis f.eks. NS4 blir detected...

Hvordan fikser dette script mit problem med menuen?

/lerchedahl
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