Foros del Web » Programando para Internet » Javascript »

Problema con Menú desplegable e ie7

Estas en el tema de Problema con Menú desplegable e ie7 en el foro de Javascript en Foros del Web. Holas a todos, soy un poco novato con el javascript, y tengo un código para un menú desplegable que hice, me funciona de plicula con ...
  #1 (permalink)  
Antiguo 14/10/2008, 09:52
Avatar de Dalvenjha  
Fecha de Ingreso: febrero-2008
Ubicación: $("#oficina");
Mensajes: 692
Antigüedad: 16 años, 2 meses
Puntos: 53
Problema con Menú desplegable e ie7

Holas a todos, soy un poco novato con el javascript, y tengo un código para un menú desplegable que hice, me funciona de plicula con firefox, chrome, opera y safari, el problema es que no funcionaba con ie6, asi que hice otro menú para ie6, y los puse alternadamente mediante CSS. Ahora bien, e el ie7 no me funka de ninguna de las dos maneras, voy a poner los códigos del javascript y el de los elementos que los lanzan. Quisiera una ayuda para simplificar los códigos también, recién me inicio en javascript y hay algunas cosas que aún no domino.

Muchas Gracias.

Código:
var altura = 0;
	var velocidad = 10;
		function extender() {
		var objeto = document.getElementById('defecto');
		objeto.style.display = 'block';
		altura += velocidad;
		if (!(altura >= 73)) {
			objeto.style.height = altura + 'px';
			window.setTimeout ("extender();", 20);
		}
		
	}
	function contraer() {
		var objeto2 = document.getElementById('defecto');
		altura -= velocidad;
		if (!(altura <= 0)) {
			objeto2.style.height = altura + 'px';
			window.setTimeout ("contraer();", 10);
		} else {
			objeto2.style.display = 'none';
			objeto2.style.height = '0px';
		}
		
	}
	function extender_contraer () {
		if (	altura <= 0) {
			extender();
		} else {
			contraer();
		}
	}
Ese es el código para cada elemento del menú, quisiera saber como reutilizarlo para todos los elementos, por ejemplo tengo 6 elementos padres de menú, y me debo crear 6 de esos códigos, lo cúal no me gusta nada. No quiero usar suckerfish, ya que no da el efecto que he logrado con este código. Aqui pongo el del html que lo lanza.

Código:
<ul class="barmen">
<li class="ini"><a href="#" onMouseover="javascript:extender_contraer('defecto'); contraer1('defecto1'); contraer2('defecto2'); contraer3('defecto3'); contraer4('defecto4'); contraer5('defecto5'); contraer6('defecto6');" >home</a></li>
<li><a href="#" onMouseover="javascript:extender_contraer1('defecto1'); contraer('defecto'); contraer2('defecto2'); contraer3('defecto3'); contraer4('defecto4'); contraer5('defecto5'); contraer6('defecto6');" >nosotros</a></li>
<li><a href="#" onMouseover="javascript:extender_contraer2('defecto2');contraer('defecto'); contraer1('defecto1'); contraer3('defecto3'); contraer4('defecto4'); contraer5('defecto5'); contraer6('defecto6');" >divisiones</a></li>
<li><a href="#" onMouseover="javascript:extender_contraer3('defecto3');contraer('defecto'); contraer1('defecto1'); contraer2('defecto2'); contraer4('defecto4'); contraer5('defecto5'); contraer6('defecto6');" >especialización</a></li>
<li><a href="#" onMouseover="javascript:extender_contraer4('defecto4');contraer('defecto'); contraer1('defecto1'); contraer2('defecto2'); contraer3('defecto3'); contraer5('defecto5'); contraer6('defecto6');" >comunidad</a></li>
<li><a href="#" onMouseover="javascript:extender_contraer5('defecto5');contraer('defecto'); contraer1('defecto1'); contraer2('defecto2'); contraer3('defecto3'); contraer4('defecto4'); contraer6('defecto6');" >clientes</a></li>
<li><a href="#" onMouseover="javascript:extender_contraer6('defecto6');contraer('defecto'); contraer1('defecto1'); contraer2('defecto2'); contraer3('defecto3'); contraer4('defecto4'); contraer5('defecto5');" >contacto</a></li>
<li class="busca" ><a href="#">busqueda</a><img src="imagenes/mas.jpg" alt="" /></li>
</ul>
ese es para firefox.

Código:
<ul id="ier" class="barmen">
<li class="ini"><a href="#" onClick="javascript:extender_contraer('defecto');" >home</a></li>
<li><a href="#" onClick="javascript:extender_contraer1('defecto1');" >nosotros</a></li>
<li><a href="#" onClick="javascript:extender_contraer2('defecto2');" >divisiones</a></li>
<li><a href="#" onClick="javascript:extender_contraer3('defecto3');" >especialización</a></li>
<li><a href="#" onClick="javascript:extender_contraer4('defecto4');" >comunidad</a></li>
<li><a href="#" onClick="javascript:extender_contraer5('defecto5');" >clientes</a></li>
<li><a href="#" onClick="javascript:extender_contraer6('defecto6');" >contacto</a></li>
<li class="busca" ><a href="#">busqueda</a><img src="imagenes/mas.jpg" alt="" /></li>
</ul>
para ie6

Ninguno de los dos funciona en ie7 -.- debería funcionar aunque sea el segundo. :S
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 16:57.