Gå til innhold

Java script meny


Anbefalte innlegg

Jeg har funnet et javacript som gjør at jeg kan ha submenyer, altså når jeg trykker på en link så kommer det flere linker under.. Men problemet er at når jeg går inn på en annen side på websiden trekker submenyen seg inn igjen.. Vil gjerne at den skal holde seg der til jeg trykker på hovedlinken eller på en annen hovedlink. Her er koden:

 

<script language="JavaScript">
<!--

// A cascading menu script by Fredrik Fridsten 2000 (c)
// Feel free to use this, but please mention in a comment in the code.

// To configure the script:
// Change the nom value to the number of menus that you want to use
// Note: Always make sure that this is correct, otherwise you might get a javascript error.

// The phrases "images/opened.gif" and "images/closed.gif" should be referring to the
// pictures you might use.
// If you don\'t want to use images, just remove the picopen and picclose functions.
// Also remove the lines in the toggle function that refer to those.

// The input variables to the toggle function are the number of the submenu to open/close,
// starting with 1, and the number of pixels to move the objects below.
// For example toggle(2,60) opens/closes the second submenu and moves the objects below 60 pixels.

var nom = 12; // Number of menus

var tits = new Array(); // An array for the title objects
var subs = new Array(); // An array for the submenu objects
var lastn;
var lastmove;
var isIE4;
var isNav4;
var isNav6;

function setbrowser() {
if (navigator.appVersion.charAt(0) == "4") {
 if (navigator.appName.indexOf("Explorer") >= 0) {
 	isIE4 = true;
 }
 else {
 	isNav4 = true;
 }
}
else if (navigator.appVersion.charAt(0) > "4") {
 isNav6 = true;
}
if (isNav4) { // Setting the visibility for NN and IE
 visible = \'show\';
 hidden = \'hide\';
}
else if (isIE4) {
 visible = \'visible\';
 hidden = \'hidden\';
}
else if (isNav6) {
 visible = \'visible\';
 hidden = \'hidden\';
}
}

for (var i = 1; i <= nom; i++) { // Fills the arrays with title and submenu objects
tits[i] = (\'title\' + i);
subs[i] = (\'submenu\' +i);
}

// A couple of small functions that changes the image by the clicked menu
function picopen(n) {
title = (\'title\' + n);
pic = (\'pic\' + n);
if (isNav4) {
 document.layers[title].document.images[pic].src = "opened.gif";
}
else if (isIE4) {
 document.all(pic).src = "opened.gif";
}
else if (isNav6) {
 document.getElementById(pic).src = "opened.gif";
}
}

function picclose(n) {
title = (\'title\' + n);
pic = (\'pic\' + n);
if (isNav4) {
 document.layers[title].document.images[pic].src = "closed.gif";
}
else if (isIE4) {
 document.all(pic).src = "closed.gif";
}
else if (isNav6) {
 document.getElementById(pic).src = "closed.gif";
}
}

// The main script for toggling the selected menu
// Input variables:
// n = the number of the submenu to show/hide
// move = the number of pixels for moving the objects below

lastn = (nom + 1);
lastmove = 0;

function lasttoggle(n,move) {
if (n <= nom) {
 menu = (\'submenu\' + n);
 if (isNav4) {
 	submenu = document.layers[menu];
 }
 else if (isIE4) {
 	submenu = document.all(menu).style;
 }
 else if (isNav6) {
 	submenu = document.getElementById(menu).style;
 }
 if (submenu.visibility == visible) {
 	submenu.visibility = hidden;
 	picclose(n); // Remove this if you don\'t use pictures
 	for (var i = (n+1); i <= nom; i++) {
   if (isNav4) {
   	var tit = document.layers[tits[i]];
   	var subm = document.layers[subs[i]];
   }
   else if (isIE4) {
   	var tit = document.all(tits[i]).style;
   	var subm = document.all(subs[i]).style;
   }
   else if (isNav6) {
   	var tit = document.getElementById(tits[i]).style;
   	var subm = document.getElementById(subs[i]).style;
   }
   tit.top = (parseInt(tit.top) - move);
   subm.top = (parseInt(subm.top) - move);
 	}
 }
}
}

function toggle(n,move) {
var menu = (\'submenu\' + n);
if (isNav4) {
 submenu = document.layers[menu];
}
else if (isIE4) {
 submenu = document.all(menu).style;
}
else if (isNav6) {
 submenu = document.getElementById(menu).style;
}
if (submenu.visibility == visible) {
 submenu.visibility = hidden;
 picclose(n); // Remove this if you don\'t use pictures
 for (var i = (n+1); i <= nom; i++) {
 	if (isNav4) {
   var tit = document.layers[tits[i]];
   var subm = document.layers[subs[i]];
 	}
 	else if (isIE4) {
   var tit = document.all(tits[i]).style;
   var subm = document.all(subs[i]).style;
 	}
 	else if (isNav6) {
   var tit = document.getElementById(tits[i]).style;
   var subm = document.getElementById(subs[i]).style;
 	}
 	tit.top = (parseInt(tit.top) - move);
 	subm.top = (parseInt(subm.top) - move);
 }
}
else {
 submenu.visibility = visible;
 picopen(n); // Remove this if you don\'t use pictures
 if (lastn != n) {
 	lasttoggle(lastn,lastmove);
 }
 for (var i = (n+1); i <= nom; i++) {
 	if (isNav4) {
   var tit = document.layers[tits[i]];
   var subm = document.layers[subs[i]];
 	}
 	else if (isIE4) {
   var tit = document.all(tits[i]).style;
   var subm = document.all(subs[i]).style;
 	}
 	else if (isNav6) {
   var tit = document.getElementById(tits[i]).style;
   var subm = document.getElementById(subs[i]).style;
 	}
 	tit.top = (parseInt(tit.top) + move);
 	subm.top = (parseInt(subm.top) + move);
 }
}
lastn = n;
lastmove = move;
}

// -->
</script>

Lenke til kommentar
  • 4 uker senere...
Videoannonse
Annonse

Du kan jo f.eks lagre informasjon om "expand/collapse tilstanden" til menyene i en cookie. Lag javascript funksjoner som setter cookie verdier, leser cookie verdier, og som justerer menyen tilsvarende.

 

Alternativt kan du propagere "expand/collapse tilstanden" i URL'en for så å bruke server script til å justere meny-tilstanden.

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...