Pergunta

Eu sou relativamente novo para JQuery e eu gostaria de ser capaz de mostrar um menu no mouseover.

Aqui está o html

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

Então, o JQuery

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

Esta exept trabalha para que eu estou puxando vários comentários fora e isso só vai mostrar o menu no primeiro div não importa o que "comentário" é hoverd. Eu gostaria de ter o show menu só para o comentário que está actualmente a ser hoverd mais. Eu acho que eu preciso usar "$ this" para fazer este trabalho, mas não sabe como.

Graças.

Foi útil?

Solução

Se eu estou lendo isso corretamente o formato deve ser -

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

Editar porque eu sou um idiota completo.

Outras dicas

Algo como isso funciona para mim:

<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>

No entanto, o problema que você vai enfrentar é pairar acções mais de uma div que tem display: none; conjunto. Você pode querer considerar a envolvê-lo em algo que de rato sensível, e, em seguida, exibir / ocultar as crianças em seu lugar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top