webForumDet fria alternativet

Vill att menyn skall stanna öppen??

JavaScript

1 svar · 220 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.

:)

271 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)