Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Error con unas div y show de query

Estas en el tema de Error con unas div y show de query en el foro de Frameworks JS en Foros del Web. Hola he hecho que se muestra una div al estar sobre el raton en otra div(id="vista") que contiene tambien mas divs pero el problema esta ...
  #1 (permalink)  
Antiguo 18/09/2012, 05:12
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 10 meses
Puntos: 29
Error con unas div y show de query

Hola he hecho que se muestra una div al estar sobre el raton en otra div(id="vista") que contiene tambien mas divs pero el problema esta cuando el raton esta sobre uno de los div que estan en "vista" y sale de el entrando en otro div de "vista" la div que debe mostrarese se quita y aparece de nuevo aunque el raton se mantiene en la div "vista"...

Aqui esta :

Código HTML:
Ver original
  1. <div id="vista" style="display:none;" onmouseover="view_change_on();" onmouseout="view_change_off();">
  2. <div id="vista_t"><img src="images/todo_p.gif" width="74" height="90" style="border-radius:14px;" /></div>
  3. <div id="vista1"></div>
  4. <div id="vista2"></div>
  5. <div id="vista3"></div>
  6. <div id="vista4"></div>
  7. <div id="vista5"></div>
  8. <div id="vista6"></div>
  9. <div id="vista7"></div>
  10. <div id="vista8"></div>
  11. <div id="vista9"></div>
  12. </div>
  13. <div id="view">Смени гледката</div>


Funciones javascript:

Código Javascript:
Ver original
  1. function view_change_on(){
  2.     for(c=1;c<10;c++){
  3.         $('#vista'+c).css('background-color','green');
  4.     }
  5.     $('#view').stop('fx',true,true).show(500);
  6. }
  7. function view_change_off(){
  8.     for(c=1;c<10;c++){
  9.         $('#vista'+c).css('background-color','#333');
  10.     }
  11.     $('#view').stop('fx',true,true).hide(500);
  12. }

Como puedo solucionar lo??
  #2 (permalink)  
Antiguo 18/09/2012, 09:02
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 13 años, 2 meses
Puntos: 397
Respuesta: Error con unas div y show de query

Hola eso ocurre porque los divs hijos del contenedor principal heredan tambien el evento onmouseout del padre, puedes usar stopPropagation de jQuery info aqui
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #3 (permalink)  
Antiguo 18/09/2012, 17:26
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 10 meses
Puntos: 29
Respuesta: Error con unas div y show de query

Cita:
Iniciado por jonni09lo Ver Mensaje
Hola eso ocurre porque los divs hijos del contenedor principal heredan tambien el evento onmouseout del padre, puedes usar stopPropagation de jQuery [URL="http://api.jquery.com/event.stopPropagation/"]info aqui[/URL]
Gracias por tu respuesta y probe asi:

Código Javascript:
Ver original
  1. function view_change_on(){
  2.     event.stopPropagation();
  3.     for(c=1;c<10;c++){
  4.         $('#vista'+c).css('background-color','green');
  5.     }
  6.     $('#view').stop('fx',true,true).show(500);
  7. }
  8. function view_change_off(){
  9.     event.stopPropagation();
  10.     for(c=1;c<10;c++){
  11.         $('#vista'+c).css('background-color','#333');
  12.     }
  13.     $('#view').stop('fx',true,true).hide(500);
  14. }

pero queda lo mismo.
Se puede hacer tambien en javascript embez de query?

Un saludo
  #4 (permalink)  
Antiguo 19/09/2012, 09:49
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 13 años, 2 meses
Puntos: 397
Respuesta: Error con unas div y show de query

Hola, ps mira en javascript no he visto eso no se si habra algo parecido, aunque creo que si, con respecto a tu codigo mira esto:

Código HTML:
Ver original
  1. <div id="vista" style="display:none;padding:5px;" onmouseout="view_change_off();">
  2.     <div id="vista_t" ><img src="img.jpg" width="74" height="90" style="border-radius:14px;" /></div>
  3.     <div id="vista1">1</div>
  4.     <div id="vista2">2</div>
  5.     <div id="vista3">3</div>
  6.     <div id="vista4">4</div>
  7.     <div id="vista5">5</div>
  8.     <div id="vista6">6</div>
  9.     <div id="vista7">7</div>
  10.     <div id="vista8">8</div>
  11.     <div id="vista9">9</div>
  12. </div>
  13. <div id="view" onmouseover="view_change_on();">Hola</div>
y este es el javascript

Código Javascript:
Ver original
  1. function view_change_on(){
  2.     for(c=1;c<10;c++){
  3.         $('#vista'+c).css('background-color','green');
  4.     }
  5.     $('#vista').stop('fx',true,true).show(500);
  6. }
  7. $("#vista div").mouseleave(function(event){
  8.     event.stopPropagation();
  9. });  
  10. function view_change_off(){
  11.     for(c=1;c<10;c++){
  12.         $('#vista'+c).css('background-color','#333');
  13.     }
  14.     $('#vista').stop('fx',true,true).hide(500);
  15. }
si miras la parte de stopPropagation, solo lo estoy aplicando a los elementos hijos del contenedor principal y no al contenedor principal como tal espero que te sirva

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #5 (permalink)  
Antiguo 19/09/2012, 11:39
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 10 meses
Puntos: 29
Respuesta: Error con unas div y show de query

Cita:
Iniciado por jonni09lo Ver Mensaje
Hola, ps mira en javascript no he visto eso no se si habra algo parecido, aunque creo que si, con respecto a tu codigo mira esto:

Código HTML:
Ver original
  1. <div id="vista" style="display:none;padding:5px;" onmouseout="view_change_off();">
  2.     <div id="vista_t" ><img src="img.jpg" width="74" height="90" style="border-radius:14px;" /></div>
  3.     <div id="vista1">1</div>
  4.     <div id="vista2">2</div>
  5.     <div id="vista3">3</div>
  6.     <div id="vista4">4</div>
  7.     <div id="vista5">5</div>
  8.     <div id="vista6">6</div>
  9.     <div id="vista7">7</div>
  10.     <div id="vista8">8</div>
  11.     <div id="vista9">9</div>
  12. </div>
  13. <div id="view" onmouseover="view_change_on();">Hola</div>
y este es el javascript

Código Javascript:
Ver original
  1. function view_change_on(){
  2.     for(c=1;c<10;c++){
  3.         $('#vista'+c).css('background-color','green');
  4.     }
  5.     $('#vista').stop('fx',true,true).show(500);
  6. }
  7. $("#vista div").mouseleave(function(event){
  8.     event.stopPropagation();
  9. });  
  10. function view_change_off(){
  11.     for(c=1;c<10;c++){
  12.         $('#vista'+c).css('background-color','#333');
  13.     }
  14.     $('#vista').stop('fx',true,true).hide(500);
  15. }
si miras la parte de stopPropagation, solo lo estoy aplicando a los elementos hijos del contenedor principal y no al contenedor principal como tal espero que te sirva

Saludos
Lo probe pero ahora la div que debe mostrarese (del mensaje) se queda alli... igual si retiras el raton... :(

Un saludo
  #6 (permalink)  
Antiguo 20/09/2012, 11:20
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 13 años, 2 meses
Puntos: 397
Respuesta: Error con unas div y show de query

Hola, lo probaste con esta parte?
<div id="vista" style="display:none;padding:5px;" onmouseout="view_change_off();">

Pq ese padding es importante, si tiene un contenedor sin ese padding, sera imposible que el raton pase por el ccontenedor padre ya que este esta totalmente tapado con los hijos, si ccolocas ese padding, habra un espacio en donde el raton pase sobre el padre y por ende ocultandolo

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #7 (permalink)  
Antiguo 21/09/2012, 01:43
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 10 meses
Puntos: 29
Respuesta: Error con unas div y show de query

Cita:
Iniciado por jonni09lo Ver Mensaje
Hola, lo probaste con esta parte?
<div id="vista" style="display:none;padding:5px;" onmouseout="view_change_off();">

Pq ese padding es importante, si tiene un contenedor sin ese padding, sera imposible que el raton pase por el ccontenedor padre ya que este esta totalmente tapado con los hijos, si ccolocas ese padding, habra un espacio en donde el raton pase sobre el padre y por ende ocultandolo

Saludos
Si, ahora si y queda lo mismo...
T.T
Un saludo

Etiquetas: javascript, onmouseover
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 19:04.