Foros del Web » Programando para Internet » Javascript »

Ayuda con menu por favor

Estas en el tema de Ayuda con menu por favor en el foro de Javascript en Foros del Web. Hola, he sacado este menu de esta pagina http://www.dynamicdrive.com/dynamici...witchmenu2.htm y en principio todo bien, pero, ¿¿¿como puedo hacer para que al pulsar en el menu ...
  #1 (permalink)  
Antiguo 04/10/2005, 16:45
 
Fecha de Ingreso: septiembre-2005
Ubicación: Vejer de la Fra, Cádiz
Mensajes: 83
Antigüedad: 18 años, 7 meses
Puntos: 0
Ayuda con menu por favor

Hola, he sacado este menu de esta pagina http://www.dynamicdrive.com/dynamici...witchmenu2.htm y en principio todo bien, pero, ¿¿¿como puedo hacer para que al pulsar en el menu 2 se pliegue el menu que este abierto???, es decir, cargo la pagina y despliego el menu 1, pero luego al desplegar el menu 2 quiero que se pliegue el menu 1, ¿¿¿como podria hacerlo???.

Gracias a todos
  #2 (permalink)  
Antiguo 05/10/2005, 01:55
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Tienes un menú igual que se recoge en www.tunait.com
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #3 (permalink)  
Antiguo 05/10/2005, 03:56
 
Fecha de Ingreso: septiembre-2005
Ubicación: Vejer de la Fra, Cádiz
Mensajes: 83
Antigüedad: 18 años, 7 meses
Puntos: 0
Gracias por tu respuesta, pero no he visto en esa pagina un menu donde al darle a la segunda opcion del menu se pliegue la primera, simpre se quedan desplegadas a no ser que vuelvas a darle a esa misma opcion.

Voy dejar el codigo que tengo a ver si alguien puede decirme si hay alguna manera de hacerlo.

------Pagina "menu.js"-------

var TIMER_SLIDE = null;
var OBJ_SLIDE;
var OBJ_VIEW;
var PIX_SLIDE = 10; //this is the amount of slide/DELAY_SLIDE
var NEW_PIX_VAL;
var DELAY_SLIDE = 30; //this is the time between each call to slide
var DIV_HEIGHT = 22; //value irrelevant
var SUB_MENU_NUM =0;
var RE_INIT_OBJ = null;
var bMenu = document.getElementById("curMenu");
var MainDiv,SubDiv

//DD added code
document.write('<div id="tempcontainer" class="mainDiv" style="visibility: hidden; position: absolute"></div>')

function Init(objDiv)
{
if (TIMER_SLIDE == null)
{
SUB_MENU_NUM = 0;
MainDiv = objDiv.parentNode;
SubDiv = MainDiv.getElementsByTagName("DIV").item(0);
SubDiv.onclick = SetSlide;

OBJ_SLIDE = MainDiv.getElementsByTagName("DIV").item(1)
OBJ_VIEW = OBJ_SLIDE.getElementsByTagName("DIV").item(0);

document.getElementById("tempcontainer").innerHTML =MainDiv.getElementsByTagName("DIV").item(2).inner HTML //DD added code
DIV_HEIGHT=document.getElementById("tempcontainer" ).offsetHeight //DD added code

for (i=0;i<OBJ_VIEW.childNodes.length;i++)
{
if (OBJ_VIEW.childNodes.item(i).tagName == "SPAN")
{
SUB_MENU_NUM ++;
OBJ_VIEW.childNodes.item(i).onmouseover= ChangeStyle;
OBJ_VIEW.childNodes.item(i).onmouseout= ChangeStyle;
}
}

NEW_PIX_VAL = parseInt(MainDiv.getAttribute("state"));
}

}
function SetSlide()
{
if (window.TIMER_SLIDE) clearInterval(TIMER_SLIDE) //DD added code
if (TIMER_SLIDE == null && this.parentNode == MainDiv)
TIMER_SLIDE = setInterval('RunSlide()', DELAY_SLIDE);
else
{
RE_INIT_OBJ = this;
setTimeout('ReInit()', 200);
}
}

function ReInit(obj)
{
Init(RE_INIT_OBJ);
TIMER_SLIDE = setInterval('RunSlide()', DELAY_SLIDE);
RE_INIT_OBJ = null;
}

function RunSlide()
{

if (OBJ_VIEW.getAttribute("state") == 0)
{

NEW_PIX_VAL += PIX_SLIDE;
OBJ_SLIDE.style.height = NEW_PIX_VAL;

if (NEW_PIX_VAL >= DIV_HEIGHT) //DD modified code
{
clearInterval(TIMER_SLIDE);
TIMER_SLIDE = null;
OBJ_VIEW.style.display = 'inline';
OBJ_VIEW.setAttribute("state","1")
MainDiv.setAttribute("state",NEW_PIX_VAL);
}
} else
{
OBJ_VIEW.style.display = 'none';
NEW_PIX_VAL -= PIX_SLIDE;
if(NEW_PIX_VAL > 0)OBJ_SLIDE.style.height = NEW_PIX_VAL;
if (NEW_PIX_VAL <= 0)
{
NEW_PIX_VAL = 0;
OBJ_SLIDE.style.height = NEW_PIX_VAL
clearInterval(TIMER_SLIDE);
TIMER_SLIDE = null;
OBJ_VIEW.setAttribute("state","0")
MainDiv.setAttribute("state",NEW_PIX_VAL);
}
}
}

function ChangeStyle()
{
if (this.className == this.getAttribute("classOut"))
this.className = this.getAttribute("classOver");
else
this.className = this.getAttribute("classOut");
}

----------------------------------------------------

---------Pagina index.html--------------------------

<html>
<head>
<title>Menu</title>

<script language="JavaScript" type="text/javascript" src="menu.js"></script>
<link rel="stylesheet" type="text/css" href="sddm.css" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body>

<!--------Start Menu---------->
<div class="mainDiv" state="0">
<div class="topItem" classOut="topItem" classOver="topItemOver" onMouseOver="Init(this);" > Demo Menu 1</div>
<div class="dropMenu" >
<div class="subMenu" state="0">
<span class="subItem" classOut="subItem" classOver="subItemOver"><a href="http://www.dynamicdrive.com">Dynamic Drive</a></span><BR />
<span class="subItem" classOut="subItem" classOver="subItemOver"><a href="http://www.javascriptkit.com">JavaScript Kit</a></span><BR />
<span class="subItem" classOut="subItem" classOver="subItemOver"><a href="http://www.codingforums.com">Coding Forums</a></span><BR />
<span class="subItem" classOut="subItem" classOver="subItemOver"><a href="http://www.builder.com">Builder.com</a></span><BR />
<span class="subItem" classOut="subItem" classOver="subItemOver"><a href="http://www.cssdrive.com">CSS Drive</a></span>
</div>
</div>
</div>

<!--------End Menu---------->
<BR />
<!--------Start Menu---------->
<div class="mainDiv" state="0">
<div class="topItem" classOut="topItem" classOver="topItemOver" onMouseOver="Init(this)" > Demo Menu 2</div>
<div class="dropMenu" >
<div class="subMenu" state="0">
<span class="subItem" classOut="subItem" classOver="subItemOver"><a href="http://www.slashdot.org">Slash Dot</a></span><BR />
<span class="subItem" classOut="subItem" classOver="subItemOver"><a href="http://news.com">News.com</a></span><BR />
<span class="subItem" classOut="subItem" classOver="subItemOver"><a href="http://wired.com">Wired News</a></span>
</div>
</div>
</div>

<!--------End Menu---------->
<BR />
<!--------Start Menu---------->
<div class="mainDiv" state="0">
<div class="topItem" classOut="topItem" classOver="topItemOver" onMouseOver="Init(this)" > Demo Menu 3</div>
<div class="dropMenu" >
<div class="subMenu" state="0">
<span class="subItem" classOut="subItem" classOver="subItemOver"><a href="http://cnn.com">CNN</a></span><BR />
<span class="subItem" classOut="subItem" classOver="subItemOver"><a href="http://msnbc.com">MSNBC</a></span><BR />
<span class="subItem" classOut="subItem" classOver="subItemOver"><a href="http://news.bbc.co.uk">BBC News</a></span>
</div>
</div>
</div>

<!--------End Menu---------->
</body>
</html>

Gracias de nuevo a todos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:55.