webForumDet fria alternativet

Vill att menyn skall stanna öppen??

JavaScriptur Javascript

1 svar · 218 visningar · startad av Krug

Medlem sedan maj 200197 inlägg
Frågan#1

Har detta script för att skapa en meny.

function visadolj1(obj) {

   if(obj.style.display=='none') {
   obj.style.display='block'
   var x = 1
   }
   else {
   obj.style.display='none'
   var x = 2
   }
   var bild = new Image()
   bild.src = "minus.gif"
   var oldbild = new Image()
   oldbild.src = "plus.gif"
   if(x == 1) {
   document.images["a1"].src = bild.src
   }
   if(x == 2) {
   document.images["a1"].src = oldbild.src
   }
}

för varje länk jag vill ha med underlänkar skapas en ny function.
visadolj1, visadolj2, visadolj3, osv....

men när ja trycker på en underlänk eller om ja lägger en länk på huvudlänken så stängs menyn igen... går det att lösa så att det inte gör det med detta scriptet??

// Krug

Medlem sedan dec. 20025 483 inlägg
#2

Det är onödigt att skapa en funktion för varje huvudlänk. Använd istället en generell:

function visadolj(obj, img) {
    obj = document.all ? document.all[obj] :
	document.getElementById ? document.getElementById(obj) : 0;

    if (!obj) return;

    var minus = new Image(),
	plus  = new Image();

    minus.src = "minus.gif",
    plus.src  = "plus.gif";

    switch (obj.style.display == "block") {
	case true:
	{
	    document.images[img].src = plus.src;
	    obj.style.display = "none";

	} break;

	case false:
	{
	    document.images[img].src = minus.src;
	    obj.style.display = "block";

	} break;
    }
}

// visadolj("[b]objekt-id[/b]", "[b]bildnamn[/b]");

Lägg gärna upp ett exempel på hur ditt system ser ut nu.

:)

130 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)