Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

flavialieggio

Menu simples mesmo

Recommended Posts

Ola pessoal!!

 

Mais uma vez estou aqui! :)

 

Bom galera, eu tenho um menu lateral do site onde coloquei um evento onclick na div pra quando clicar ele abrir o submenu! e uma pequena função em js. bem tranquilo... o problema é que quando eu por exemplo cliquei em uma aba e abri os submenus e cliquei em um dos itens do menu quando a página da o reload, o menu fecha e eu gostaria q os menus que eu abri ficassem abertos e se eu quiser fechar eu clico na aba do menu pra fechar...

 

Como faço isso?

 

Códigos:

 

função

function mostrar_campo(check1,forme)
{
	   if (!forme) 
	  {
			forme = 0;
	  }

	   check2 = document.getElementById(check1);
	   if (check2.style.display == "none") 
		   check2.style.display = ""; 
	   else 
		   check2.style.display = "none"; 

}

menu:

<div id="menu">
   <div id="submenu" style="cursor:hand" onclick="java script:mostrar_campo('item_menu7')">
   Biblioteca
   </div>		  
   <div id="item_menu7" style="display:none">
	<div id="mainmenu">
		 ITENS DO SUBMENU
		</div>
   </div>
</div

Obrigada desde já!! http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

 

[]´s

Flávia

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu faria um 'gatilho', gravando em session para poder verificar se o submenu tem q ser visivel ou nao nakele momento.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom...uma boa gambiarra seria setar se os menus deveriam estar visiveis ou não!

De padrão,os cookies vinham com não,quando o usuario clicasse para abrir,ficava sim,quando pra fechar,voltava pra nao.

Um cookie pra cada menu (dependendo).

Você checava no js o estado dos cookies.

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola proust

 

Gostei dessa sugestão.. estou começando a entender... achei esse modelo na web que monta o arquivo js assim:

 

var persistmenu = "sim";
var persisttype = "site";

if(document.getElementById) {
	document.write('<style type="text/css">\\n')
	document.write('.submenu{display: none;}\\n')
	document.write('</style>\\n')
}

function abrir_menu(obj) {
	if(document.getElementById)
	{
		var el = document.getElementById(obj);
		var ar = document.getElementById("menu").getElementsByTagName("span");
		alert(el);
		alert(ar);
		if(el.style.display != "block")
		{
			for(var i=0; i<ar.length; i++) {
				if(ar[ i ].className=="submenu") {
					ar[ i ].style.display = "none";
				}
			}
			el.style.display = "block";
		}
		else {
			el.style.display = "none";
		}
	}
}

function get_cookie(Name) {
	var search = Name + "="
	var returnvalue = "";
	alert(Name);
	if(document.cookie.length > 0) {
		offset = document.cookie.indexOf(search)
		if(offset != -1) {
			offset += search.length
			end = document.cookie.indexOf(";", offset);
			if(end == -1) end = document.cookie.length;
			returnvalue = unescape(document.cookie.substring(offset, end))
			alert("RETURN "+returnvalue);
		}
	}
	return returnvalue;
}

function onloadfunction() {
	if(persistmenu=="sim") {
		var cookiename = (persisttype=="site")? "abrir_menu" : window.location.pathname
		var cookievalue = get_cookie(cookiename)
		alert("COOKIE 1 " + cookiename);
		alert("COOKIE 2 " + cookievalue);
		
		if(cookievalue!="") {
			document.getElementById(cookievalue).style.display="block"
		}
	}
}

function savemenustate() {
	var inc=1, blockid=""
	while(document.getElementById("submenu"+inc)) {
		if(document.getElementById("submenu"+inc).style.display=="block") {
			blockid="submenu"+inc
			break
		}
	inc++
	}
	var cookiename = (persisttype=="site")? "abrir_menu" : window.location.pathname
	var cookievalue = (persisttype=="site")? blockid+";path=/" : blockid
	document.cookie = cookiename+"="+cookievalue
}

if(window.addEventListener) {
	window.addEventListener("load", onloadfunction, false)
}
else if(window.attachEvent) {
	window.attachEvent("onload", onloadfunction)
}
else if(document.getElementById) {
	window.onload = onloadfunction
}

if(persistmenu=="sim" && document.getElementById) {
	window.onunload = savemenustate
}

Bem famoso! Acho ate que voce pode conhecer!

 

Como faço pra adaptar essa parte do GET COOKIE com minha função??? como elaboraria isso??? Pode me ajudar a entender??

 

Muito obrigada pela atenção!!!

 

Flávia

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ai pessoal

 

Tentei fazer a adaptação com a função acima

qdo coloco menus 1, 2, 3 tudo beleza.. se adiciono o 4,5,6,7,8... nao funciona redondo mais!!!

 

eu clico no menu 7 dai deposi do reload fica fixo o 6 .. :wacko:

 

loucura....

 

A função e a mesma..

 

o menu ta assim:

<div id="menu">
<div id="submenu" style="cursor:hand" onclick="abrir_menu('item_menu5')">
** Contabilidade</div>
<span id="item_menu5" class="item_menu" style="display:none">
<div id="mainmenu">
	 
	 (item do submenu)

</div>
</span>
</div>

[]´s

Flávia

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.