Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Nícolas Luís Huber

[Resolvido] Show e Hide com toggle

Recommended Posts

Irei resumir meu problema em uma única imagem:

 

http://img37.imageshack.us/img37/2790/imgpn.png

 

Como dá para notar, quando aquele link, que contem um seta para cima, for clicado ele vai esconder o conteúdo que fica na box branca e irá trocar a imagem, para uma com a seta para baixo.

 

Ou seja, clicou -> hide box, muda img... clicou novamente -> show box, muda img...

 

Mas eu quero fazer isto com toggle, será que é possível???

 

Segue como esta meu código

 

<script>    
$(document).ready(function() {
 $(".hide-wrapper").click(		
   function() {
     $(".box").toggle();
   });
});
</script>

 

Moderador: Por favor, mova o tópico para área correta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

não é cara, pq você vai precisar identificar qndo está aberto e qnto está fechado.

 

então o if q o toggle economizou, você vai ter q fazer de qq jeito. Ai não compensa usar o toggle

Compartilhar este post


Link para o post
Compartilhar em outros sites

não é cara, pq você vai precisar identificar qndo está aberto e qnto está fechado.

 

então o if q o toggle economizou, você vai ter q fazer de qq jeito. Ai não compensa usar o toggle

 

Obrigado William, sou novato no JavaScript, como posso fazer um condição if para verificar se está aberto?

Compartilhar este post


Link para o post
Compartilhar em outros sites
if( $(".box").is(':visible') ){

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado novamente William, agora estou com outro problema. Como estou usando uma mesma class várias vezes, então quando eu clico em um, obviamente fecha todo. Existe como eu passar um paramêtro na function para fechar apenas aquele. eu não quero ficar criando muito código para fechar Id por id, quero algo simples e dinâmico. Tem como?

 

Muito obrigado desde já! Esse fórum é muito bom!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado William Bruno.

 

Só que o this acho que não vai funcionar, ou pelo menos não achei um lógica para ele funcionar com sintaxe de jQuery que conheço. Meu código está assim:

 

<script>
$(document).ready(function() {
 $(".hide-wrapper").click(		
   function() {
     if( $(".box").is(':visible')){
       $(this).hide();
     }else{
       $(this).show();
     }
  });
});
</script>

 

Como o código diz, ele vai fechar apenas o .hidewrapper, pois foi pego pelo this. Mas eu quero fechar o .box, como posso fazer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

vamos lá.. como é o seu html ?

 

além do this, você tem q usar o .parent, .next.. enfim.. ir navegando pelo DOM.

 

o this ai, é o proprio botão q recebeu o click, entendeu ? ai apartir dele, q você acha o outro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O meu HTML é o seguinte:

 

<article class="wrapper wrapper-small right">

       <header class="wrapper-title">

<i class="icon-globe"></i> Cotações <a href="#" rel="tooltip" data-placement="bottom" data-original-title="Esconder" class="hide-wrapper"><i class="icon-chevron-up"></i></a>

</header>

       <article class="box">
         Conteúdo Box
       </article>

     </article><!-- Wrapper -->

Compartilhar este post


Link para o post
Compartilhar em outros sites
<script>
$(document).ready(function() {


 $(".hide-wrapper").click(function() {
    var $this = $(this),
     $box = $this.parents('article').find('.box');

     if( $box.is(':visible')) $box.hide();
     else $box.show();

  });
});
</script>

entendeu ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.