JoaoRafael213 0 Denunciar post Postado Novembro 30, 2014 Boa noite, estou usando um navbar para linkar as ancoras da minha pagina web da seguinte forma: <ul class="nav navbar-nav navbar-right"> <li class="active"> <a href="#home">Home</a> </li> <li> <a href="#service">Serviços</a> </li> <li> <a href="#technologies">Tecnologias</a> </li> <li> <a href="#contact">Contato</a> </li></ul> e o problema é o seguinte, quando eu clico no link "Serviço" eu gostaria que ele ficase ativo com class="active" porque do jeito que esta somente a "Home" que ficara como ativo independente do link que eu clicar, mais não sei como fazer este tratamento já que os links são ancoras para a mesma pagina. Alguém pode me dar uma luz? Tem alguma forma de resolver isto com jquery? Compartilhar este post Link para o post Compartilhar em outros sites
wilnet 92 Denunciar post Postado Novembro 30, 2014 Olá João, blza! Não sei como está seu CSS, mas vc deve por sua Class="active" em cada página que corresponde seu menu. Exemplo: CSS #menu ul{ background:#06C; height:48px; line-height:40px; } #menu ul li{display:inline;} #menu ul li a{ float:left; padding:4px 15px; border-right:1px solid #8BAD25; color:#FFF; text-decoration:none; font-weight:bold; } #menu ul li a:hover{background:#09C;} #menu ul li a.on{ background:#9CF;color:#FFF;} HOME <div id="menu"> <ul> <li><a href="home.html" class="on">Home</a></li> <li><a href="servicos.html">Serviços</a></li> <li><a href="technologies.html">Tecnologias</a></li> <li><a href="contact.html">Contato</a></li> </ul> </div> Serviços <div id="menu"> <ul> <li><a href="home.html" >Home</a></li> <li><a href="servicos.html" class="on">Serviços</a></li> <li><a href="technologies.html">Tecnologias</a></li> <li><a href="contact.html">Contato</a></li> </ul> </div> E assim vc faz para as demais páginas. Desta forma, em cada página que estiver clicada, irá mantes os efeitos do CSS pela class="on". Agora é só adaptar para suas necessidades. Espero ter ajudado, vlw Compartilhar este post Link para o post Compartilhar em outros sites
reebr 94 Denunciar post Postado Novembro 30, 2014 Utilizando as funções addClass e removeClass você pode manipular qual elemento deve receber a classe "active". <nav> <a href="#a" class="active">#A</a> <a href="#b">#B</a> </nav> <div id="a"></div> <div id="b"></div> $(function(){ var current = $("nav > a"); // pega o primeiro elemento do menu. $("nav a").on("click", function(){ $(current).removeClass("active"); // remove a classe do elemento atual current = $(this); $(current).addClass("active"); }); }); http://jsfiddle.net/rnxn/tojx866u/ Compartilhar este post Link para o post Compartilhar em outros sites
JoaoRafael213 0 Denunciar post Postado Dezembro 1, 2014 Boa tarde rnxn, utilizei o código que vc me mandou, mais deu errado, acho que é na hora de incluir a navbar no "var current", vejá como esta o código do meu navbar: <nav class="navbar navbar-default navbar-fixed-top" role="navigation"> <div class="container"> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"> <span class="sr-only">Navegação</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button> <a class="navbar-brand" href="#perf">João Raphael</a> </div> <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> <ul class="nav navbar-nav navbar-right"> <li class="active"> <a href="#home">Home</a> </li> <li> <a href="#service">Serviços</a> </li> <li> <a href="#technologies">Tecnologias</a> </li> <li> <a href="#contact">Contato</a> </li> </ul> </div> </div> </nav> como que devo incluir ela na variavel current? Compartilhar este post Link para o post Compartilhar em outros sites
wilnet 92 Denunciar post Postado Dezembro 1, 2014 Vc chegou a testar o exemplo que passei com base no seu exemplo? Compartilhar este post Link para o post Compartilhar em outros sites
reebr 94 Denunciar post Postado Dezembro 2, 2014 Como você está inserindo a "active" no <li> : var current = $(".nav > li"); Compartilhar este post Link para o post Compartilhar em outros sites
JoaoRafael213 0 Denunciar post Postado Dezembro 5, 2014 Opa, manow estou quebrando a cabeça aki... Testei o código mais não consegui colocar para rodar, ele esta deste jeito: $(function(){ var current = $(".nav > li"); // pega o primeiro elemento do menu. $(".nav li").on("click", function(){ $(current).removeClass("active"); // remove a classe do elemento atual current = $(this); $(current).addClass("active"); }); }); Tem alguma coisa errada nele? Compartilhar este post Link para o post Compartilhar em outros sites
carneirinho 7 Denunciar post Postado Dezembro 5, 2014 Você adiciou o jquery? Compartilhar este post Link para o post Compartilhar em outros sites
JoaoRafael213 0 Denunciar post Postado Dezembro 13, 2014 sim, os demais recurso do jquery estão funcionando corretamente. Att. Compartilhar este post Link para o post Compartilhar em outros sites