2012-02-07 19 views
5

Necesito evitar el parpadeo de la tabla html con el mouse sobre el mouse. cuando alguien pasa el cursor sobre una fila, muestra un botón, pero la tabla parece un poco rara.Evita que la tabla html parpadee al pasar el mouse sobre el mouse

Aquí está mi código http://jsfiddle.net/7nqLg/2/

+1

¿No puedes mostrar los botones todo el tiempo? Son lo que está empujando la altura y el ancho y lo hace 'parpadear'. – Jivings

+0

No veo ninguna tabla parpadeando ... solo el tamaño de la fila aumenta para acomodar el botón ... –

Respuesta

4

Uso mouseenter y mouseleave lugar.

jQuery('.myRow').mouseenter(function() { 
    jQuery(this).find('div:first').css('visibility', 'visible'); 
}).mouseleave(function() { 
    jQuery(this).find('div:first').css('visibility', 'hidden'); 
}); 

Y en vez de ocultar el elemento de su visibilidad se establece hidden y el ratón por encima hacen visible, esto va a evitar la oscilación debido a que el div ocupa algo de espacio al demostrar que. Si se oculta su visibilidad, seguirá ocupando el espacio, pero no se mostrará.

Demo

+0

Gracias, esto es lo que estaba buscando – Chumillas

0

Es necesario que ajuste la altura estándar del TD para que coincida con la altura máxima en una fila cuando están expuestos los elementos adicionales.

Por lo tanto, el CSS para TDs "myRow" debe tener una altura mínima de 45 píxeles.

.myRow td { 
    height:45px; 
} 
0

hacer el relleno de la td 2px .. o aumentar la altura de la fila - TD que puede acomodar el 8 píxeles en la también de su botón .. Actualmente en 8 píxeles, por lo tanto, causeing el aumento de la altura de la fila ..

Cuestiones relacionadas