Vill att menyn skall stanna öppen??

JavaScript

1 svar · 229 visningar · startad av Krug

Medlem sedan maj 200197 inlägg
Trådstart#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.

:)

256 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)