Re: cerrar div al dar click fuera de el hide()

2,475 views
Skip to first unread message
Message has been deleted

Juan Ignacio Dopazo

unread,
Apr 24, 2012, 9:01:15 AM4/24/12
to javasc...@googlegroups.com
Hola! Lo que necesitás hacer es fijarte qué elemento disparó el evento de click y hacer una acción o la otra de acuerdo a eso. Esa información te llega en el objeto de evento que se le pasa a tu función.

var submenu = $('.sub_menu1');
$(document).on('click', function (e) {
  // e.target <-- este es el elemento que disparó el evento
  // toggle recibe un parametro que si vale true lo muestra y si vale false lo oculta
  // si e.target es el submenu, entonces el parametro valdra false y lo mostrara
  // si no, lo ocultara
  submenu.toggle(e.target == submenu[0]);
});

No tiene mucho sentido que funcione así, pero te debería servir para darte una idea de cómo escribirlo.

Juan

2012/4/23 juanquito <crobe...@gmail.com>
hola  algien me puede ayudar necesito un div que al dar clik en el se
abre y al dar click fuera de este se cierra

 tengo este codigo si me funciona lo que deseria es :este codigo
poderlo aplicar a  otro div diferentes

<script type="text/javascript" src="/home/user/Escritorio/jquery.js"></
script>
<script type="text/javascript">
$(document).ready(function(){
   $('body').click(function(){
       $('.sub_menu1').hide();
   });
   $('body').delegate('#abrir_login,#login',
       'click',function(){
               $('.sub_menu1').show();
   });
});
</script>




               <div " id="abrir_login">Cuenta
                               <div class="sub_menu1" >
<div id="koko">
fff

<div class="sub_menu1z" >
ross
</div></div>
                                       <span class="bo"></span>
                                       <div class="sub_menua hove" >Personalizar Perfil</div>
                                       </a>
                                       <div class="sub_menua hove" >Editar Amigos</div>
                                       </a>

                       </div>

Message has been deleted

Ivan Castellanos

unread,
Apr 24, 2012, 8:43:32 PM4/24/12
to javasc...@googlegroups.com
$("body").click(function(e){
    $(".contenido").hide()    
    $(e.target).closest('.seccion').find('.contenido').show()
})



2012/4/24 juan bancayan juares <crobe...@gmail.com>
hola amigo estado intentando y nu eh logrado hacerlo  esuq soi nuevo en esto .!!!  si entiendes lo q deseo hacer  2 menus  que  al  clicck afuera desaparece -..!! estado intentandooo y ambos se abren  a la misma ves .-! si me podrias dar un ejemplo mas claro te lo agraceceria    enormemente 

Message has been deleted

Ivan Castellanos

unread,
May 2, 2012, 10:22:25 PM5/2/12
to javasc...@googlegroups.com
Le recomiendo buscar tutoriales de jQuery y de pronto un cursillo de gramática y ortografía.

2012/5/2 juanquito <crobe...@gmail.com>
hola   muchas gracias por prestarme atencion . tengo   problemas con
los menu   no se si me puede ayudar   se los agradeceria   bastante.!
mi problema es el siguiente tengo  tres menu  desearia  que estos
al
dar click  afuera  de ellos tabiem se oculte,
que no se abran a la misma ves  osea ej:   si tengo abierto al menu 1
i doi  click en el menu  2 el menu uno  automaticamente se cierre
<script type="text/javascript" src="/home/user/Escritorio/
jquery-1.6.1.min.js"></script>
<div id="gn">
<a  class="c1 cot"  href="#">menu1</a>
       <div class="to1 pppp">
entrar
mensaje
salir
</div>
</div>
       <div id="gn">
<a class="c2 cot"  href="#">men2</a>
       <div class="to2 pppp">
entrar
mensaje
salir
</div>
</div>
<div id="gn">
<a  class="c3 cot" href="#">menu3</a>
       <div class="to3 pppp">
entrar
mensaje
salir
</div>
</div>
 <script type="text/javascript">
$(".c1").click(function () {
  $('.to1').slideToggle();
});

 $(".c2").click(function () {
  $('.to2').slideToggle();
});

 $(".c3").click(function () {
  $('.to3').slideToggle();
});

$("#reset").click(function(){
       location.reload();
});

</script>
<style>
#gn{
margin-right:10px;
float:left;
width:200px;
background:#ccc;
}

.cot{
background:#c1c;
height:30px;
float:left;
width:150px;
}

.pppp{margin-top:30px;
border:1px solid black;
width:180px;
display:none;:
float:left;
height:100px;
}

</style>

Reply all
Reply to author
Forward
0 new messages