Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Jquery Display:Block en moviles

Estas en el tema de Jquery Display:Block en moviles en el foro de Jquery en Foros del Web. Buenas amigos, Tengo un problema con el menu responsive en moviles y es que quiero que se despliegue cuando haces click sobre el header pero ...
  #1 (permalink)  
Antiguo 20/04/2016, 02:17
 
Fecha de Ingreso: abril-2015
Mensajes: 189
Antigüedad: 9 años
Puntos: 14
Jquery Display:Block en moviles

Buenas amigos,

Tengo un problema con el menu responsive en moviles y es que quiero que se despliegue cuando haces click sobre el header pero solo cuando los pixeles son menos que X.

He estado probando con Jquery esto :

Código:
<script type="text/javascript">
		(function($) {
			if (window.matchMedia('(max-width: 767px)').matches) {
			$(".navbar-header").mouseenter(function(event){
			$(".collapse").css("display", "block");
			});
			}
		})(jQuery);
	   </script>
Y no funciona , no hace el display:block a collapse que es donde despliega el menu.

En cambio si no pongo que se active con nm
  #2 (permalink)  
Antiguo 20/04/2016, 02:42
 
Fecha de Ingreso: abril-2016
Ubicación: Valencia
Mensajes: 17
Antigüedad: 8 años
Puntos: 1
Respuesta: Jquery Display:Block en moviles

Puede que sea por el evento .mouseenter si es para moviles no sería mejor utilizar el evento .click.

Llega a entrar la aplicación dentro del

Código Javascript:
Ver original
  1. $(".navbar-header").mouseenter(function(event){
  2.             $(".collapse").css("display", "block");
  3.             });

Además en vez de usar el display:block. Seguramente usando el .toggle() de Jquerypodrás lograr el efecto que deseas para tu menu.

Un Saludo ya me dices si funciona.
  #3 (permalink)  
Antiguo 20/04/2016, 04:40
 
Fecha de Ingreso: abril-2015
Mensajes: 189
Antigüedad: 9 años
Puntos: 14
Respuesta: Jquery Display:Block en moviles

Buenas

Gracias por la respuesta ya encontre la solución final , la cuento por si a alguien le vale.

El mouseenter le tenia como prueba para ver si hacia algo , finalmente vi que poniendo click y usando body si que se desplegaba el menu entonces el codigo estaba bien lo que estaba mal era el elemento que habia elegido para clickar antes.

Al final como dices usar la propiedad css para jugar con el display no era lo mas indicado , ha quedado asi el codigo query:

Código:
	(function($) {
		   $(".icoMovil").click(function () {
			  $(".collapse").each(function() {
				displaying = $(this).css("display");
				if(displaying == "block") {
				  $(this).fadeOut('slow',function() {
				   $(this).css("display","none");
				  });
				} else {
				  $(this).fadeIn('slow',function() {
					$(this).css("display","block");
				  });
				}
			  });
			});
		  })(jQuery);
IcoMovil es un icono que he metido en el nav , para clickar sobre el.

Por otro lado desde el CSS he hecho que por defecto sea display:none este icono y con media querie que aparezca solo en pantallas pequeñas.

He estado haciendo pruebas y por el momento perfecto , aqui el codigo del CSS:

Código:
.icoMovil{
display:none;
}
@media (max-width: 500px) {
.icoMovil{
display:block;
position:relative;
float:right;
margin-top:5%;
margin-right:5%;
}
}
Y eso es todo ahora estoy con otro problemilla pero eso ya es de Bootrstrap asi que si no lo soluciono hare otro tema :D

Etiquetas: moviles
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 15:57.