Foros del Web » Programando para Internet » Javascript »

Menú acordeon se abre y se cierra solo

Estas en el tema de Menú acordeon se abre y se cierra solo en el foro de Javascript en Foros del Web. Hola buenas tardes.. Estoy tratando de hacer un menú vertical, estilo acordeón. Me funciona, pero hace una cosa un poco rara, se habre y se ...
  #1 (permalink)  
Antiguo 26/09/2016, 12:51
 
Fecha de Ingreso: octubre-2007
Mensajes: 53
Antigüedad: 16 años, 5 meses
Puntos: 0
Menú acordeon se abre y se cierra solo

Hola buenas tardes..

Estoy tratando de hacer un menú vertical, estilo acordeón.
Me funciona, pero hace una cosa un poco rara, se habre y se cierra solo, me explico:

Este es mi menú:

<ul id="accordion" class="accordion">
<li><a href="#" id="Menu1">Menu1</a></li>
<li><a href="#" id="Menu2">Menu2</a></li>
<li><a href="#" id="Menu3">Menu3</a></li>
<li><a href="#" id="Menu4">Menu4</a></li>
<li><a href="#" id="Menu5">Menu5</a></li>
<li><a href="#" id="Menu6">Menu6</a></li>
<li><a href="#">Menu7</a>
<ul>
<li><a href="#" id="Submenu1">Submenu1</a></li>
<li><a href="#" id="Submenu2">Submenu2</a></li>
<li><a href="#" id="Submenu3">Submenu3</a></li>
</ul>
</li>
</ul>

El CSS no creo que importe, si hace falta me decís y lo subo.

El código javascript para "abrir y cerrar" el menú, en este caso la última opción:

$(function() {
$('#accordion li a').click(function(event)
{
var elem = $(this).next();
if(elem.is('ul'))
{
event.preventDefault();
$('#accordion ul:visible').not(elem).slideUp();
elem.slideToggle();
}
});
});

Hasta aquí me funciona perfecto, abre, cierra, se desplaza, etc...

Ahora viene cuando la matan, en el momento que yo pulso cualquiera de los enlaces, para abrir la correspondiente página, el menú se vuelve loco, pulso sobre el último enlace, para desplegarle, se me despliega y se me vuelve a cerrar, así todo el rato..

Os paso como abro los enlaces:

$(document).ready(function(){
$("#Menu1").click(function()
{
$.post("frm/frm_Menu1.php", function(data)
{
$("#contenido").html(data);
});
});

$('#Menu2').click(function()
{
$.post("frm/frm_Menu2.php", function(data)
{
$("#contenido").html(data);
});
});
});

Hay algo que estoy haciendo mal?
Creo que el problema viene a la hora de "llamar" a las páginas al pulsar el link...

Alguna idea??

Muchas gracias
  #2 (permalink)  
Antiguo 26/09/2016, 15:50
Avatar de AngelKrak  
Fecha de Ingreso: noviembre-2014
Mensajes: 917
Antigüedad: 9 años, 4 meses
Puntos: 91
Respuesta: Menú acordeon se abre y se cierra solo

seria bueno que pusieras el codigo en un codepen para ver mejor la funcion, con css, js y su html completo para poder ver el error que te da

Etiquetas: acordeon, cierra, funcion, php
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 19:05.