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.

:)

259 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)