Foros del Web » Programando para Internet » Jquery »

Problema con acordeón jquery

Estas en el tema de Problema con acordeón jquery en el foro de Jquery en Foros del Web. Hola, Tengo un problema-duda con un menú acordeón de jquery que genero dinámicamente según las opciones de la bbdd. El problema, es que las opciones ...
  #1 (permalink)  
Antiguo 19/05/2010, 05:29
 
Fecha de Ingreso: octubre-2008
Mensajes: 177
Antigüedad: 15 años, 6 meses
Puntos: 1
Problema con acordeón jquery

Hola,

Tengo un problema-duda con un menú acordeón de jquery que genero dinámicamente según las opciones de la bbdd.

El problema, es que las opciones son muy numerosas, por lo que al elegir el primer 'padre' por decirlo de alguna manera, el menú se alarga mucho por abajo, porque hay muchos hijos dentro.

Entonces, mi pregunta es cómo puedo hacer que al seleccionar un padre, aparezcan los hijos pero no el resto de padres por debajo? PAra que se hagan una idea, el tipo de menú vertical que quiero por sus funciones sería como el de esta web de apuestas: http://www.betbrain.com/ Al elegir un deporte, aparecen los países y el resto de deportes ya no...

El código que tengo actualmente es:

Código:
$(function(){
	(function($){
		
		$.fn.accordion = function(custom) {
			var defaults = {
				keepOpen: false,
				startingOpen: false
			} 
			var settings = $.extend({}, defaults, custom);
			if(settings.startingOpen){
				$(settings.startingOpen).show();
			}
		
			return this.each(function(){
				var obj = $(this);
				$('li a', obj).click(function(event){
						var elem = $(this).next();
						if(elem.is('ul')){
							if(!settings.keepOpen){
								obj.find('ul:visible').not(elem).not(elem.parents('ul:visible')).slideUp();
							}
							elem.slideToggle();
						}
						
				});
			});
		};
	})(jQuery);
	
$('#menu').accordion({keepOpen:false, startingOpen: '#open'});
});

Etiquetas: Ninguno
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 00:30.