Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <script>
- // Adicione o atributo do Botão ou região que deseja monitorar o clique.
- var monitorar_btn = ".main-navigation";
- // Adicione na ordem: Atributo do botão fechar menu, Atributo que exibirá a classe que define o botão como ativo, A classe que define o botão como ativo.
- var btns = [
- [".main-navigation button.menu-toggle",".main-navigation","toggled"], // Menu Padrão Generatepress.
- [".main-navigation span.search-item",".main-navigation span.search-item","active"], // Busca Padrão Generatepress.
- ["#mobile-menu-control-wrapper button.menu-toggle","#mobile-menu-control-wrapper","toggled"], // Menu Mobile Padrão Generatepress.
- ["#mobile-menu-control-wrapper span.search-item","#mobile-menu-control-wrapper span.search-item","active"], // Busca Mobile Padrão Generatepress.
- ["#generate-slideout-menu button.slideout-exit","#mobile-header","toggled"], // Menu Navegação como Cabeçalho Generatepress.
- ["#mobile-header span.search-item","#mobile-header span.search-item","active"], // Busca Navegação como Cabeçalho Generatepress.
- ];
- var btn_fechar, atributo_btn, classe_ativa_btn;
- // Detectando botão clicado.
- document.querySelector(monitorar_btn).onclick = function(){
- for ( var j = 0; j < btns.length; j++ ){
- if ( document.querySelector(btns[j][1]) !== null ){ //Se o attributo NÃO existir, o código pula este botão para evitar paralisação no código.
- if ( document.querySelector(btns[j][1]).classList.contains(btns[j][2]) ){ //Identificando botão clicado pela classe ativa e armazenando seus dados.
- btn_fechar = btns[j][0];
- atributo_btn = btns[j][1];
- classe_ativa_btn = btns[j][2];
- limpaHistorico_f();
- }
- }
- }
- // Limpando Histórico.
- function limpaHistorico_f(){
- history.replaceState(null, document.title, location);
- history.pushState(null, document.title, location);
- }
- }
- // Fechando Botões Clicados ao clicar em Voltar no Celular ou PC.
- if (window.history && window.history.pushState){ //Verifica se o browser está tentando retornar a página anterior.
- window.addEventListener("popstate", function(e){
- if ( document.querySelector(atributo_btn).classList.contains(classe_ativa_btn) ){ //Só executa se o botão estiver clicado.
- var btn = document.querySelectorAll(btn_fechar); //Obtém o botão fechar.
- for (var i = 0; i < btn.length; i++){btn[i].click();} //JS Clica no botão para fechar.
- e.stopPropagation();
- }
- }, false);
- }
- </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement