Ir para conteúdo

Arquivado

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

marcelocardoso

NavBar sumir em determinado ID

Recommended Posts

olá pessoal!

ajudinha básica... olhem só.
tenho este script abaixo, faz oq eu preciso, porém::

 

<script type="text/javascript">
  $(window).scroll(function() {
    if ($(this).scrollTop() < 100) {
      $('.navbar').css("background-color", "transparent");
      $('.navbar').fadeIn(1000);
    }
    if ($(this).scrollTop() > 101 && $(this).scrollTop() < 1430) {
      $('.navbar').css("background-color", "#F24100");
      $('.navbar').removeClass("transparent")
    }
    else if ($(this).scrollTop() > 1431 && $(this).scrollTop() < 2200) {
      $('.navbar').fadeOut(1000);
    }
    else if ($(this).scrollTop() > 2201) {
      $('.navbar').css("background-color", "#F24100");
      $('.navbar').fadeIn(1000);
    }
    else if ($(this).attr('id').match("menu_orcamento")) {
      $('.navbar').fadeOut(1000);
    }
    else {
      $('.navbar').add("transparent");
      $('.navbar').fadeIn(1000);
    }
  });
</script>

a cada tamanho do SCROLL, ele muda o background da NAVBAR, some ou faz outras coisas, até aí tudo correto.
AGORA: como faço para:

1) tenho divs chamadas (id=campo1), (id=campo2) e etc...
     ao invés de scroll, quando eu CLICAR no menu que tem este ID campo1 e campo2, ele muda ou some a NAVBAR????

como posso montar meu JQUERY script...
Sugestões agradeço.
Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

seria algo assim para sumir quando clicar no campo1:

$('#campo1').on('click', function(){
   $('.navbar').hide();
});

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá bruno.
Tentei rolar o script assim, mas não vai...

$(document).ready(function() {              
if  $('#menu_principal').on("click", function(event){
$('.navbar').removeClass("transparent")
$('.navbar').css("background-color", "yellow");
})
else if $('#menu_conheca').on("click", function(event){
$('.navbar').removeClass("transparent")
$('.navbar').css("background-color", "yellow");
}) else {
$('.navbar').add("transparent");
$('.navbar').fadeIn("1000");
}
});

Oque pode ser?

Compartilhar este post


Link para o post
Compartilhar em outros sites

aparentemente consegui, mas agora inseri IF ELSE ELSE IF ELSE... mas não tá rolando,
ajudinha na SINTAXE???

 

$(document).ready(function() {   

if ($("#menu1").click(function()) {
$('.navbar').css("background-color", "transparent").fadeIn(1000);
})

else if ($("#menu2").click(function()) {
$('.navbar').css("background-color", "#F24100").removeClass("transparent")
})

else if ($("#menu3").click(function()) {
$('.navbar').fadeOut(1000);
})

else if ($("#menu4").click(function()) {
$('.navbar').css("background-color", "#F24100").fadeIn(1000);
})

else if ($("#menu5").click(function()) {
$('.navbar').css("background-color", "#F24100").fadeIn(1000);
})   

else if ($(this).attr('id').match("menu_orcamento")) {
$('.navbar').fadeOut(1000);
}

else {
$('.navbar').add("transparent").fadeIn(1000);
}
});

desde já agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Marcelo, não sei se eu entendi exatamente o que você quis fazer aqui no código. Mas se for pra apenas colocar os eventos em cada elemento (ação no clique do menu3, menu4, menu5, etc...), você não precisaria colocar uma estrutura de if/else, apenas declarar os eventos.

$(document).ready(function() {   
  
  $("#menu1").click(function() {
      $('.navbar').css("background-color", "transparent").fadeIn(1000);
  })

  $("#menu2").click(function() {
      $('.navbar').css("background-color", "#F24100").removeClass("transparent")
  });

  $("#menu3").click(function() {
      $('.navbar').fadeOut(1000);
  });

  $("#menu4").click(function() {
      $('.navbar').css("background-color", "#F24100").fadeIn(1000);
  });

  $("#menu5").click(function()) {
      $('.navbar').css("background-color", "#F24100").fadeIn(1000);
  });   

  //Esse ultimo if/else, mas ai não sei se você está procurando o 
  //id na window ou em outro elemento, então mantive o this.
  if ($(this).attr('id').match("menu_orcamento")) {
      $('.navbar').fadeOut(1000);
  } else {
      $('.navbar').add("transparent").fadeIn(1000);
  }

});

Espero que ajude.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • 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
       
       
       
    • Por Felipe Medeiros
      Bom, criei um tema filho e o que aprendi é que para alterar qualquer coisa do tema filho eu preciso copiar o arquivo do tema pai o colocar dentro da pasta do tema filho.
       
      No meu caso, estou usando o tema "Astra" bem famosinho. O arquivo css que quero modificar não está dentro da pasta do tema pai, está em "wp-content/uploads/uag-plugin/assets/0/uag-css-10.css" sendo que o diretorio do tema pai é "wp-content/themes/Astra"
       
      O problema é o seguinte, preciso modificar a barra de pesquisa da pagina inicial, porem o inspetor de elementos do chrome ta acusando que esse arquivo é o responsavel por estilizar a barra de pesquisa. Será que isso tem a ver com "Cache de objetos", eu sei que o plugin liteSpeed Cache, AMP, Rank Math, todos eles tem essas paradas de criar arquivos css e js para tornar o site mais rapido.
    • Por ILR master
      Salve galera.
       
      Vou publicar um evento e quero colocar um Cronômetro regressivo que mostre em tempo real os dias, horas e minutos que faltam para determinada data, tipo:.
      Faltam 5 dias, 12:30:00 para inauguração.
       
      Qdo chegar no dia, quero que apenas apareça uma mensagem.
       
      Alguém pode me ajudar?
    • Por ment0r
      Boa noite pessoal, tudo bem?
       
      Estou desenvolvendo um sistema simples com exibição de formulário via modal. Uma vez cadastrado o serviço (tabela possui apenas dois campos, id e nome), eles são exibidos numa tabela com um ícone que permite a alteração do nome.

       
      Eu clico no ícone e é chamado um modal que é gerado via ajax (pois são vários registros).
       

       
      Nesse modal é mostrado o serviço e uma vez alterado, o botão Salvar chama uma função que atualiza a tabela servico, concluindo a tarefa. Fiz o mesmo processo pra cadastrar o serviço, com a diferença de que o modal está presente na mesma página, ou seja, não é chamado via ajax.
       
      Eis os códigos:
      <a href="#" onclick="modalUpdate(<?= trim($array['id']) ?>)"> <i class='bx bx-edit'></i> </a> // Trecho onde eu chamo a função modalUpdate. Função btAltServico click:
      $('#btAltServico').click(function() { var inpnome = $('#nome'); var inpid = $('#id'); if (inpnome.val() == '') { swal("Atenção", "Por favor, preencha os campos obrigatórios", "warning"); if (inpnome.val() == '') { inpnome.css("border","2px solid #f94545"); } else { inpnome.css("border",""); } alert(inpnome); alert(inpid); } else { $.ajax({ url: '../inc/ajax/altServico.php', type: 'post', dataType: 'json', // pode ser html data: { nome : inpnome.val(), id : inpid.val() }, success: function(resposta){ if (resposta == 1) { inpnome.val(""); inpnome.css("border",""); swal("Sucesso", "Serviço alterado", "success"); } else { if (resposta == 0) { swal("Erro", "Serviço não alterado. Log de erro gerado.", "error"); } else { swal("Atenção", "Serviço já cadastrado", "warning"); } } } }) } });  
      E modalUpdate.php :
       
      <?php /* * altServico.php * * Script responsável pelo update de serviços na tabela servico * * Função chamada pelo arquivo ajax.js */ //if ($_POST) { require'../conn.php'; require'../../class/class.geral.php'; $geral = new Geral(); $nome = $_POST['nome']; $id = $_POST['nome']; $ativo = 1; // Verifica se o servico já foi cadastrado $sqlVer = "select nome from algo68_db_cliente.servico where nome = '".$nome."' and id <> ".$id.""; $queryVer = mysqli_query($conn, $sqlVer); $resultVer = mysqli_num_rows($queryVer); if ($resultVer > 0) { echo json_encode(2); // servico já cadastrado } else { // Update do servico $sql = "update algo68_db_cliente.servico set nome = '".$nome."', ativo = ".$ativo." where id = ".$id; $query = mysqli_query($conn, $sql); $result = mysqli_affected_rows($conn); if ($result > 0) { echo json_encode(1); // alterou o servico } else { $geral->logErro(date('d/m/Y|H:i:s'), @$_SERVER[REQUEST_URI], 'AlterarServico', mysqli_error($conn)); echo json_encode(0); // não alterou o servico } } //} ?> O problema é que quando clico no botão Salvar, não acontece nada - se eu colocar um alert qualquer na função click, só pra saber se está chegando, também não da nada. E está da mesma forma que o cadastro de serviço, que funciona perfeitamente.

      Bom, é isso pessoal, tentei ser o mais breve e especifico possível. Qualquer ajuda é bem vinda, obrigado a todos, desde já.
×

Informação importante

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