2009-09-19 21 views
11

Soy relativamente nuevo en JQuery y me gustaría poder mostrar un menú con el mouseover.JQuery Mostrar clase de ocultar al colocar el cursor

Aquí es el html

<td class ="comment_div"> <?php echo("$comment_data['comment']); ?> <br/> 
    <span class="comment_actions"> Approve | Delete | Spam | Edit</span> 
</td> 

Entonces el JQuery

$("comment_div").hover(
     function() { $(".comment_actions").show(); }, 
     function() { $(".comment_actions").hide(); } 
); 

Esto funciona excepto por que estoy tirando a cabo múltiples comentarios y esto sólo se mostrará el menú de la primera div no importa qué "comentar" está suspendido. Me gustaría que el menú se muestre solo para el comentario que está siendo sobrevolado. Creo que necesito usar "$ this" para que esto funcione, pero no estoy seguro de cómo.

Gracias.

Respuesta

18

si estoy leyendo correctamente que el formato debe ser-

$(".comment_div").hover(
    function() { $(this).children(".comment_actions").show(); }, 
    function() { $(this).children(".comment_actions").hide(); } 
); 

Editar porque soy un completo idiota.

+0

¿No sería eso mostrar/ocultar "comment_div"? Estoy tratando de mostrar/ocultar "comment_actions" en hover. – BandonRandon

+0

Tiene toda la razón: hoy estoy medio dormido y sin práctica. Eso * debería * arreglarse ahora. –

+0

¡Gracias que funciona ahora! – BandonRandon

2

Algo como esto funciona para mí:

<script> 
$(document).ready(function() { 
$(".container").hover(
     function() { $(this).children('.comment_actions').show(); }, 
     function() { $(this).children('.comment_actions').hide(); } 
); 

}); 

</script> 

<style> 

</style> 


<table border="1"><tr> 
<td class ="container"><br/> 
    asd<span class="comment_actions">Approve | Delete</span> 
</td> 
<td class ="container"><br/> 
    asd <span class="comment_actions">Approve | Delete</span> 
</td> 
<td class ="container"><br/> 
    asd<span class="comment_actions"> Approve| Delete</span> 
</td> 
</tr></table> 

Sin embargo, el problema que se enfrentará es flotar acciones más de un div que tiene display: none; conjunto. Es posible que desee considerar envolverlo en algo que sea sensible al mouse, y luego mostrar u ocultar en su lugar.

Cuestiones relacionadas