Ir para conteúdo
Fórum Script Brasil

Renato E.

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Tudo que Renato E. postou

  1. Bom dia pessoal, meu site tem dois menus com as mesmas propriedades, um no header e outro no footer. Neles eu estou utilizando um script para marcação e desmarcação dependendo o conteúdo na qual está sendo exibido porém somente o menu do header está recebendo o script, o do footer não. Alguém pode me dar um help? Estou utilizando esse script para tal: <script> //função que troca a classe dos li para ativo e inativo function ativoinativo(quem){ //o 'quem' original é um link, agora estou pegando o li pai var lipai = quem.parentNode; if(lipai.className=='ativo'){ //se ele já era ativo vira inativo lipai.className = 'inativo'; }else{ //se ele não tinha classe ainda, transformo em ativo lipai.className = 'ativo'; //e também faço seus irmãos li virarem inativos var irmaosli = lipai.parentNode.childNodes; //pegando os irmaos li for(var i=0; i<irmaosli.length ; i++){ //varrendo os li var liatual = irmaosli; if(liatual != lipai && liatual.nodeName=='LI'){ //se não é o li atual vai virar inativo irmaosli.className = 'inativo' } } } } //função que testa qual li que tem o link atual e marca como ativo function initAtivoInativo(divalvo){ if(!divalvo.nodeName){ //testando se o divalvo já é um objeto //se não for, eu uso o velho getElementById divalvo = document.getElementById(divalvo); if(!divalvo){ alert('Erro: o divalvo não existe'); return;} } //pegando os li que tão dentro do divalvo var ah,lis = divalvo.getElementsByTagName('li'); for(var i=0; i<lis.length ; i++){ //pegando os links que tão dentro de cada li ah = lis.getElementsByTagName('a')[0]; if(!ah){ continue; } //se não achou o link vai pro prox li //ativando o onclick nos links pra fazer a troca de ativo/inativo ah.onclick = function(e){ //pegando o alvo crossbrowser http://elcio.com.br/crossbrowser/#7 if(typeof(e)=='undefined')var e=window.event; source=e.target?e.target:e.srcElement; // if(source.nodeType == 3)source = source.parentNode //ativando o onclick nos links pra fazer a troca de ativo/inativo ativoinativo(source); } if(location.href.indexOf(ah.href)>-1){ //se o endereço atual tem o link do li atual marco ativo lis.className = 'ativo' }else{ //senão é inativo lis.className = 'inativo' } } } //ativando no onload (mas depois de um tempinho pra não bugar em alguns browsers heheh) //você pode usar body onload tb ou onready de libs window.onload = setTimeout(function(){initAtivoInativo('menu');},300); </script> Agradeço a ajuda de vocês, até logo.
×
×
  • Criar Novo...