webForumDet fria alternativet

cookies till meny

ASP

3 svar · 352 visningar · startad av golgata

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

har följande kod till min meny

<SCRIPT>
function avd(obj) {
  if(obj.style.display=='none') {
  obj.style.display=''
  }
  else obj.style.display='none'
}
</script>

<SPAN OnClick="avd(senastenytt)"><img src="meny/senaste.gif"></span>
<SPAN STYLE="display: none" ID="senastenytt">
<table border="0"  cellspacing="4" cellpadding="0">
<tr>
<td>

<img src="meny/pilar.gif">&nbsp;<a href="mina/info.asp" >Min presentation</a><br>
<img src="meny/pilar.gif">&nbsp;<a href="mina/gastbok.asp" >Min gästbok</a><br>
<img src="meny/pilar.gif">&nbsp;<a href="mina/dagbok.asp" >Min dagbok</a><br>
<img src="meny/pilar.gif">&nbsp;<a href="upload.asp" >Ladda upp foto</a>

</td></tr></table>
</span>

och fler menyer till.

Denna kod gör så att man kan visa det som finns i menyn om man klickar på bilden senaste nytt. klickar man igen så stängs den.

Nu vill jag lägga in cookies i detta så att datorn kommer ihåg nästa gång jag kommer till sidan om menyn ska vara öppen eller stängd.
Hur gör jag detta???

Medlem sedan apr. 20003 174 inlägg
#2

Eftersom du redan använder javascript så kommer här en variant av en sådan lösning.. passar inte det så tjoa till. ;)

[red]<html>
<head>

	<script type="text/javascript">
	
	// Namn på kakan
	var myCookie = 'menuId';
	
	// Ladda rätt avdelning när besökaren anländer
	function avdOnLoad()
	{
		avd(getCookie(myCookie));
	}
	
	// Toggla avdelningarna
	function avd(obj)
	{
		setCookie(myCookie,obj)
		var objElm = document.getElementById(obj);
		if(objElm.style.display=='none')
			objElm.style.display='';
		else
			objElm.style.display='none';
	}
	
	// Skapa kakan, expire om 30 dagar
	function setCookie(name, value)
	{
		var today = new Date();
		var expiry = new Date(today.getTime() + 30 * 24 * 60 * 60 * 1000);
		if (value != null && value != "")
		document.cookie=name + "=" + escape(value) + "; expires=" + expiry.toGMTString();
	}
	
	// Hämta kakan
	function getCookie(name)
	{
		var objCookie = document.cookie;
		var index = objCookie.indexOf(name + "=");
		if (index == -1) return null;
		index = objCookie.indexOf("=", index) + 1;
		var endstr = objCookie.indexOf(";", index);
		if (endstr == -1) endstr = objCookie.length;
		return unescape(objCookie.substring(index, endstr));
	}
	
	</script>

</head>
<body onload="avdOnLoad();">

<SPAN OnClick="avd('senastenytt');"><img src="meny/senaste.gif"></span>
<SPAN STYLE="display: none" ID="senastenytt">
	<table border="0"  cellspacing="4" cellpadding="0">
	<tr>
	<td>
	<img src="meny/pilar.gif"> <a href="mina/info.asp" >Min presentation</a><br>
	<img src="meny/pilar.gif"> <a href="mina/gastbok.asp" >Min gästbok</a><br>
	<img src="meny/pilar.gif"> <a href="mina/dagbok.asp" >Min dagbok</a><br>
	<img src="meny/pilar.gif"> <a href="upload.asp" >Ladda upp foto</a>
	</td></tr></table>
</span>

</body>
</html>
[/red]
Medlem sedan maj 2000131 inlägg
#3

den fungerar. men jag vill ha en möjlighet till.

Den klarar bara av att komma ihåg den senaste öppnade menyn när man kommer till sidan igen. Om jag valt att öppna 3 menyer vill jag att alla 3 ska visas. Nu visas bara den sist öppnade. Vad ska jag då ändra?

Medlem sedan maj 2000131 inlägg
#4

ingen som vet vad jag ska ändra?

278 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
152 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)