Ir para conteúdo

Arquivado

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

AndréAraujo

script com Jquery e função active para várias classes diferentes

Recommended Posts

Olá, tenho um JavaScript para deixar o primeiro botão de uma determinada lista ativo e manter os outros selecionados ao clicar. Como não tenho muito conhecimento em JQuery resolvi criar outras funções para gerar os efeitos de transição, até ai tudo bem o código funcionou "corretamente", mas agora resolvi adicionar imagens na lista de botões, cada botão tem uma imagem diferente onde os botões inativos tem imagens em preto e branco e o ativo tem uma imagem colorida.

 

Gostaria de saber se alguém tem alguma sugestão de como fazer o script reconhecer a classe do botão ativo para chamar a imagem correta, também fazer o efeito fadeIn() para a div que foi chamada e o efeito hide() para a div que foi ocultada.

 

Atualmente meu script se encontra assim:

<script src="js/jquery.js"></script>
<script>

      $(document).ready(function(){
             $("#f1").click(function(){
                  $("#div1").fadeIn(500);
                  $("#div2").hide();
                  $("#div3").hide();
            });
            $("#f2").click(function(){
                  $("#div2").fadeIn(500);
                  $("#div1").hide();
                  $("#div3").hide();
            });
            $("#f3").click(function(){
                  $("#div3").fadeIn(500);
                  $("#div1").hide();
                  $("#div2").hide();
            });
      });

</script>
<style>

.active{
      background-color:#dadada;
}
.div1{
      background-image:url(imagens/div1_preto_e_branco.png);
      background-position:center;
      background-repeat:no-repeat;
} 
.div2{
      background-image:url(imagens/div2_preto_e_branco.png);
      background-position:center;
      background-repeat:no-repeat;
} 
.div3{
      background-image:url(imagens/div3_preto_e_branco.png);
      background-position:center; 
      background-repeat:no-repeat;
}
.div1:hover{
      background-image:url(imagens/div1_colorida.png);
      background-position:center;
      background-repeat:no-repeat;
} 
.div2:hover{
      background-image:url(imagens/div2_colorida.png);
      background-position:center; 
      background-repeat:no-repeat;
}
.div3:hover{
      background-image:url(imagens/div3_colorida.png);
      background-position:center; 
      background-repeat:no-repeat;
}

</style>
<ul>
            
        <li><a type="button" id="f1" class="botao div1"></a></li>
        <li><a type="button" id="f2" class="botao div2"></a></li>
        <li><a type="button" id="f3" class="botao div3"></a></li> 
                
</ul>

<div id="div1" style="display:block;">Conteúdo 1</div>

<div id="div2">Conteúdo 2</div>

<div id="div3">Conteúdo 3</div>
<script>
      $(document).ready(function () {
            $('a.botao').click(function () {
                  $('a.botao.active').removeClass("active");
                  $(this).addClass("active");
      });
            var primeiro = document.getElementsByClassName('botao')[0];
            if (primeiro) $(primeiro).addClass("active");
      });
</script>

Agradeço a atenção

Compartilhar este post


Link para o post
Compartilhar em outros sites

No último excerto, experimenta trocar:

var primeiro = document.getElementsByClassName('botao')[0];

por

var primeiro = $('.botao').first();

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá wootzor, muito obrigado pela dica do:

var primeiro = $('.botao').first();

Sobre fazer o script reconhecer a imagem colorida correta foi só add a class + .active.

 

Ex:

.div1.active, .div1:hover{
      background-image:url(imagens/div1_colorida.png);
      background-position:center;
      background-repeat:no-repeat;
} 
.div2.active, .div2:hover{
      background-image:url(imagens/div2_colorida.png);
      background-position:center;
      background-repeat:no-repeat;
}
.div3.active, .div3:hover{
      background-image:url(imagens/div3_colorida.png);
      background-position:center;
      background-repeat:no-repeat;
}

Agora estou tentando fazer com que o script reconheça as divs para gerar os efeitos de transição sem que eu tenha que ficar adicionando classe por classe em um script separado. Só que até agora não obtive muito sucesso.

 

Quando conseguir postarei aqui, mais uma vez obrigado pela atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Pessoal, pergunta bem simples. Abaixo tenho o seguinte código:
       
      <script>
      function alerta()
      {
        if (window.confirm("Você realmente quer sair?")) {
          window.open("sair.html");
      }
      }
      </script>
       
      Funciona perfeitamente, só que está abrindo em outra janela e quero que abra na mesma janela.
       
      Alguém pode me ajudar?
    • Por Giovanird
      Olá a todos!
      Tenho uma pagina que possui uma DIV onde coloquei uma pagina PHP.
      Uso a função setInterval para atualizar a pagina inclusa dentro da DIV.
      O problema é que ao acessar o site , a DIV só me mostra a pagina inclusa somente quando completo o primeiro minuto.
      Preciso que a pagina inclusa já inicie carregada
       
      Meu código JavaScript e a DIV com a pagina PHP
       
      <script> function atualiza(){ var url = 'direita.php'; $.get(url, function(dataReturn) { $('#direita').html(dataReturn); }); } setInterval("atualiza()",60000); </script> <div> <span id="direita"></span> </div>  
    • Por Thiago Duarte
      Oi, gostaria de arrastar imagem e ao soltar formar bloco html, meu bloco de html ficaria com nome, content-1.html, content-2.html, etc
       
      Alguem pode me ajudar?
    • Por juliosonic
      Boa noite..
      Estou desenvolvendo um site de https://www.maithunatantra.com.br/ e estou com um duvida sobre o menu de navegação da versão mobile.
      O menu que tem o dropdown "Terapeutas" e "Terapias" quando clico em cima ele expande como deve ser, mas quando clico denovo para recolher os submenus
      nao acontece nada.. segue o trecho do codigo do menu..
      <div class="collapse navbar-collapse" id="navbarsExample09">             <ul class="navbar-nav ml-auto">               <li class="nav-item  active"><a class="nav-link" href="index.html">Home</a></li>               <li class="nav-item  active"><a class="nav-link" href="about-us.html">Quem Somos</a></li>               <li class="nav-item dropdown1">                     <a class="nav-link dropdown-toggle" data-toggle="dropdown1" href="#">Terapeutas</a>                     <ul class="dropdown-menu">                         <li><a class="dropdown-item" href="terapeuta-julio-cezar.html">Julio Cezar</a></li>                         <li><a class="dropdown-item" href="terapeuta-pamela-priscila.html">Pamela Priscila</a></li>                     </ul>                                    </li>               <li class="nav-item dropdown">                     <a class="nav-link dropdown-toggle" data-toggle="dropdown1" href="#">Terapias</a>                     <ul class="dropdown-menu" aria-labelledby="dropdown01">                         <li><a class="dropdown-item" href="o-que-e-reiki.html">O que é Reiki</a></li>                         <li><a class="dropdown-item" href="beneficios-reiki.html">Benefícios do Reiki</a></li>                         <li><a class="dropdown-item" href="principios-reiki.html">Princípios do Reiki</a></li>                         <li><a class="dropdown-item" href="animais-reiki.html">Reiki em Animais</a></li>                         <li><a class="dropdown-item" href="animais-reiki.html">Estudos Sobre Reiki</a></li>                         <li><a class="dropdown-item" href="terapia-massagem-tantrica.html">Terapia Tântrica</a></li>                     </ul>               </li>               <li class="nav-item  active"><a class="nav-link" href="blog.html">Blog</a></li>                <li class="nav-item"><a class="nav-link" href="contato.html">Contato</a></li>             </ul>         </div>  
      Massagem Tantrica em Curitiba
      Tantra Curitiba
      Massagem Tântrica
      Tantra
      Julio Darshan

      Obrigado
      Att
      Julio Cezar
       
       
       
×

Informação importante

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