Foros del Web » Programando para Internet » Javascript »

Ocultar div al pinchar fuera de el

Estas en el tema de Ocultar div al pinchar fuera de el en el foro de Javascript en Foros del Web. Buenas, he hecho un apartado de notificaciones, en el que al darle, con un onclick, se vuelve un display:block y se muestran las notificaciones, pero ...
  #1 (permalink)  
Antiguo 30/04/2012, 15:09
Avatar de roal40  
Fecha de Ingreso: enero-2012
Mensajes: 61
Antigüedad: 12 años, 2 meses
Puntos: 4
Ocultar div al pinchar fuera de el

Buenas, he hecho un apartado de notificaciones, en el que al darle, con un onclick, se vuelve un display:block y se muestran las notificaciones, pero para cerrarlo o le das al icono de nuevo o no se cierra... me gustaria que al dar fuera del div, en cualquier otro sitio, se cerrase...

Código HTML:
<a href="javascript:void(0)" id="mostrarnotificacion" onClick="document.getElementById('notificaciones').style.display = ' block ';document.getElementById('mostrarnotificacion').style.display = ' none ';document.getElementById('ocultarnotificacion').style.display = ' block ';document.getElementById('left_arrow_notificaciones').style.display = ' block ';">
    <div class="notification"></div>
    <div class="titulo"><p>Alertas</p></div>
    </a>
    <a href="javascript:void(0)" id="ocultarnotificacion" onClick="document.getElementById('notificaciones').style.display = ' none ';document.getElementById('mostrarnotificacion').style.display = ' block ';document.getElementById('ocultarnotificacion').style.display = ' none ';document.getElementById('left_arrow_notificaciones').style.display = ' none ';">
    <div class="notification"></div>
    <div class="titulo"><p>Alertas</p></div>
    </a> 
  #2 (permalink)  
Antiguo 30/04/2012, 16:02
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 2 meses
Puntos: 53
Respuesta: Ocultar div al pinchar fuera de el

Has pensado en utilizar el onblur?
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #3 (permalink)  
Antiguo 30/04/2012, 16:24
Avatar de Dafonz  
Fecha de Ingreso: octubre-2009
Mensajes: 127
Antigüedad: 14 años, 6 meses
Puntos: 36
Respuesta: Ocultar div al pinchar fuera de el

No creo que sea el caso solo con onblur, si es un click en cualquier cosa fuera de esa ventana yo solo lo he hecho con JQuery y con event.stopPropagation() y agregando un listener al click en document o alguna otra cosa de afuera.
Debe de poderse con javascript normal, pero la verdad desconozco. Suerte
  #4 (permalink)  
Antiguo 30/04/2012, 16:29
Avatar de labregamusiclbm  
Fecha de Ingreso: abril-2012
Ubicación: La romana
Mensajes: 11
Antigüedad: 12 años
Puntos: 0
Información Respuesta: Ocultar div al pinchar fuera de el

discurpen que cambie el TEMA pero es que soy nuevo en este foro y no se como poner una pregunta para que alguen pueda ayudarme, agradesco de antemano la posible ayuda que me puedan dar
  #5 (permalink)  
Antiguo 30/04/2012, 16:30
Avatar de roal40  
Fecha de Ingreso: enero-2012
Mensajes: 61
Antigüedad: 12 años, 2 meses
Puntos: 4
Respuesta: Ocultar div al pinchar fuera de el

Cita:
Iniciado por PIRRUMAN Ver Mensaje
Has pensado en utilizar el onblur?
Segun me estoy informando, eso es para formularios...

Yo quiero que el div notificaciones cuando deje de estar en el y pinche fuera de el se cierre, pero el div notificaciones no es un form... xD

Siento mi ignorancia... xD
  #6 (permalink)  
Antiguo 30/04/2012, 17:00
Avatar de roal40  
Fecha de Ingreso: enero-2012
Mensajes: 61
Antigüedad: 12 años, 2 meses
Puntos: 4
Respuesta: Ocultar div al pinchar fuera de el

Cita:
Iniciado por Dafonz Ver Mensaje
No creo que sea el caso solo con onblur, si es un click en cualquier cosa fuera de esa ventana yo solo lo he hecho con JQuery y con event.stopPropagation() y agregando un listener al click en document o alguna otra cosa de afuera.
Debe de poderse con javascript normal, pero la verdad desconozco. Suerte
Podrias decirme como? Esque estoy haciendo una red social, y estoy haciendo un diseño que sea como un escritorio... y entonces acabo de empezarlo de 0 y para que quede lo mejor posible me gustaría poder hacer eso...

Te dejo una foto... la cosa, es que no se muestren dos menús a la vez... si no que uno... y al pinchar en el otro, el anterior se oculta y el nuevo se muestra... (Eso lo sé hacer con los onclick, pero si pincho en cualquier otra parte de la pantalla no...)



PD: El fondo es el de twitter porque era un fondo que como wallpaper (Se puede cambiar) me gusta bastante...
PD2: La red social está hecha, pero estoy re-diseñando, en 1 año la lanzaré con subida de archivos, vídeos y muuuchas más cosas
  #7 (permalink)  
Antiguo 30/04/2012, 17:11
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 366
Antigüedad: 12 años, 1 mes
Puntos: 31
Respuesta: Ocultar div al pinchar fuera de el

Cada código que hace visible un div lleva consigo el código que hace invisible el resto de divs. Y arreglado.

si div1==visible

entonces:
div2=invisible
div3=invisible
div4=invisible
etc...

si div2==visible
div1=invisible
div3=invisible
div4=invisible
etc...
  #8 (permalink)  
Antiguo 30/04/2012, 17:15
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 366
Antigüedad: 12 años, 1 mes
Puntos: 31
Respuesta: Ocultar div al pinchar fuera de el

Cita:
Iniciado por roal40 Ver Mensaje
(Eso lo sé hacer con los onclick, pero si pincho en cualquier otra parte de la pantalla no...)
En el resto de la pantalla también habrá divs... que tienen disponible el evento onclick.
  #9 (permalink)  
Antiguo 30/04/2012, 17:24
 
Fecha de Ingreso: marzo-2007
Mensajes: 82
Antigüedad: 17 años, 1 mes
Puntos: 21
Respuesta: Ocultar div al pinchar fuera de el

Una pregunta roal40, la notificación es bloqueante ??, quiero decir, al mostrar la notificación todo el resto de la página quedaría en segundo plano ?
Me estoy imaginando que tu notificación es el tipico cartel que aparece centrado en la pantalla
Si esto es asi yo alguna vez hice una cosa asi:

Código HTML:
 <div> <!-- div que cubre la pantalla completa -->
        <div>
            Texto de la notificación
        </div>
    </div> 
El primer div tendría como atributos css algo como lo siguiente
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
background-color: transparent;
z-index: 10;

luego centrar la notificación dentro de ese div y capturar el evento click del prier div para ocultarlo todo

Se entiende, es que me explico muy mal aveces

Saludos
__________________
Hazle un favor a tu cerebro y juega Ajedrez online
Chess online
  #10 (permalink)  
Antiguo 30/04/2012, 18:09
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Ocultar div al pinchar fuera de el

Con puro javascript, asi
http://foros.emprear.com/javascript/...as-ctexto.html

en el código fuente están todos los detalles

SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #11 (permalink)  
Antiguo 30/04/2012, 18:43
Avatar de roal40  
Fecha de Ingreso: enero-2012
Mensajes: 61
Antigüedad: 12 años, 2 meses
Puntos: 4
Respuesta: Ocultar div al pinchar fuera de el

Cita:
Iniciado por chinanzio Ver Mensaje
Una pregunta roal40, la notificación es bloqueante ??, quiero decir, al mostrar la notificación todo el resto de la página quedaría en segundo plano ?
Me estoy imaginando que tu notificación es el tipico cartel que aparece centrado en la pantalla
Si esto es asi yo alguna vez hice una cosa asi:

Código HTML:
 <div> <!-- div que cubre la pantalla completa -->
        <div>
            Texto de la notificación
        </div>
    </div> 
El primer div tendría como atributos css algo como lo siguiente
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
background-color: transparent;
z-index: 10;

luego centrar la notificación dentro de ese div y capturar el evento click del prier div para ocultarlo todo

Se entiende, es que me explico muy mal aveces

Saludos
No, no deja el resto en segundo plano, es como un menú extra


Cita:
Iniciado por emprear Ver Mensaje
Con puro javascript, asi
http://foros.emprear.com/javascript/...as-ctexto.html

en el código fuente están todos los detalles

SAludos
Gracias, mañana lo pruebo :)

Última edición por roal40; 30/04/2012 a las 18:49

Etiquetas: fuera
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:03.