Jump to content
raphaelgs

Preciso deixar um "a" selecionado mais não esta ficando poderia me ajudar achar o erro?

Recommended Posts

        <script>   
                   function mostrarAtivo(tag){
                   var tag_li = document.getElementById('lista_menu');
                   var tag_a = tag_li.getElementsByTagName('a');
                   for (i=0; i<tag_a.length; i++ )
                   {
                      tag_a.style.color = "";
                   }
                      tag.style.color = "#000";
                   }
       </script>


      <ul class="menu-programas" id="lista_menu">
                  <?php
                        $categorias = get_terms('categoria-programacoes',
                            array(
                                'hide_empty' => false,
                                'orderby' => 'slug',
                            )
                        );
                   ?>
                  <?php
                        foreach ($categorias as $categoriaitem):
                            echo '<li class="menu-programas-li categoria-'. $categoriaitem->term_id.'" >';
                            echo '<a href="'.get_term_link($categoriaitem->term_id).'" class="link-nav-categoria" onclick="mostrarAtivo(this)">';
                            echo $categoriaitem->name;
                            echo '</a>';
                            echo '</li>';
                        endforeach;
                    ?>
          </ul>

Share this post


Link to post
Share on other sites

A algum tempo criei esse exemplo aqui no fórum ver se lhe ajuda:

Spoiler

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Checagem se o botão já foi clicado</title>
        <script>
            var VerificarClique = function () {
                var $cliques = 0;
                var $botao = document.getElementsByClassName('botao');
                var $quantBt = $botao.length;
                var $i;

                for ($i = 0; $i < $quantBt; $i++) {
                    $botao[$i].onclick = function () {
                        if (this.className !== 'botao ativado') {
                            recebeValor(this);
                        } else {
                            return false;
                        }
                    };
                }

                function recebeValor(parametro) {
                    $cliques++;
                    parametro.className += ' ativado';
                    parametro.style.opacity = '0.5';
                    parametro.innerHTML = 'Ativado';

                    document.getElementById('mostra').innerHTML = 'Botões que foram clicados: ' + $cliques;
                };

                this.resetarBotao = function () {
                    for ($i = 0; $i < $quantBt; $i++) {
                        if ($botao[$i].className === 'botao ativado') {
                            $botao[$i].className = 'botao';
                            $botao[$i].style.opacity = '1';
                            $botao[$i].innerHTML = 'Desativado';
                        }
                    }
                    $cliques = 0;
                    document.getElementById('mostra').innerHTML = 'Todos botões foram resetados';
                };
            };
        </script>
        <style>
            button {
                width: 6rem;
                cursor: pointer;
                outline: none
            }
            button.reset {
                padding: .625rem;
                background-color: #bb0;
                border: none
            }
        </style>
    </head>
    <body>
        <button class="botao">Desativado</button>
        <button class="botao">Desativado</button>
        <button class="botao">Desativado</button>
        <button class="botao">Desativado</button>
        <button class="botao">Desativado</button>
        <button class="botao">Desativado</button>
        <button class="botao">Desativado</button>
        <button class="botao">Desativado</button>
        <button class="botao">Desativado</button>
        <button class="botao">Desativado</button>

        <br>
        <button class="reset" onclick="return clickCheck.resetarBotao()">Resetar</button>
        <hr>
        <div id="mostra"></div>

        <script>clickCheck = new VerificarClique();</script>
    </body>
</html>

 

 

Share this post


Link to post
Share on other sites

Então não entendo muito ainda de Java script.
mandei um imagem de como esta ficando na imagem 1 e na imagem 2 com deve ficar mais mesmo assim não estou conseguindo colocar ele ativo de acordo com a pagina que ela está eu to puxar através do slug

Imagem1.png

Share this post


Link to post
Share on other sites

Vou responder aqui porque aqui é o tópico que solicitou ajuda.

 

Irei explicar.

quando você insere isso ao link: onclick="mostrarAtivo(this)"

o this fala para a função "ISSO", "FUI EU QUEM FOI CLICADO" ou seja é aquele elemento que  é enviado como parâmetro para a função.

Então no básico, você está tentando complicar o que não é.

 

mostrarAtivo(parametro) {
     parametro.style.color = "#ff0000";
}

No caso na função parâmetro passa ser a tag, elemento ou qualquer coisa que esteja com evento onclick chamando a função.

<a onclick="mostrarAtivo(this)"> 

<div mostrarAtivo(this)>

<input mostrarAtivo(this)>

E assim vai com qualquer coisa.....

Além do mais como você quer fazer não é muito legal utilizar-se de style, de uma pesquisada sobre setAttributeremoveAttribute para que não precisa fazer isso: style.color = "";

Qualquer caso lá vai

https://developer.mozilla.org/pt-BR/docs/Web/API/Element/setAttribute

https://developer.mozilla.org/pt-BR/docs/Web/API/Element/removeAttribute

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Renato Fonte
      Olá, Amigos (as),
              
      Este código (abaixo) é de um Site Imobiliário. Esta é a página (html) de edição e inclusão de dados e fotos dos imóveis no Painel Admin.
      Durante muito tempo, no navegador Chrome, o Botão para Upload das Fotos, simplesmente deixava de aparecer.
      Mas ao configurar site, permissões, javascript - permitir, o botão voltava à aparecer.
      Porém, há alguns dias essa ação não funciona mais, em navegador nenhum. Não aparece mais o botão.
              
       Pode ter sido função PHP, Query ou Json que se tornou obsoleta?
              
      Tentei varias ações mas não consigo encontrar o erro para atualizar.
              
      DOCUMENTAÇÃO JS:
      https://jclareteimoveis.com.br/app/helpers/uploadfy/js/jquery.uploadify.v2.1.4.min.js
      https://jclareteimoveis.com.br/app/helpers/uploadfy/js/swfobject.js
       
      Conto com a ajuda de vocês para me salvar dessa!
       
      Obrigado à todos!
       
       
      <link href="helpers/uploadfy/css/uploadify.css" type="text/css" rel="stylesheet" />
              <script type="text/javascript" src="helpers/uploadfy/js/swfobject.js"></script>
              <script type="text/javascript" src="helpers/uploadfy/js/jquery.uploadify.v2.1.4.min.js"></script>        
      <script>
                  $(document).ready(function() {                
                      $('#fupload').uploadify({
                          'uploader'  : 'helpers/uploadfy/js/uploadify.swf',
                          'script'    : '[baseUri]/admin/uploadr/[item_id]/',
                          //'cancelImg' : 'helpers/uploadfy/js/cancel.png',
                          'cancelImg' : 'images/icons/cancelb.png',
                          'folder'    : 'app/fotos',
                          'auto'      : true,
                          'multi'     : true,
                          'buttonText'  : 'Upload',
                          'sizeLimit'   : 25002400,
                          'width'       : 275,
                          'height'       : 40,  
                          //'queueSizeLimit' : 10,
                          'uploadLimit' : 1,
                          'fileExt'     : '*.jpg;*.gif;*.png;*.bmp;*.jpeg',
                          'fileDesc'    : 'Imagens (JPG, GIF, PNG, BMP)',
                          //'buttonImg'   : 'helpers/uploadfy/upload.png',
                          'buttonImg'   : 'images/icons/uploadr.png',
                          'onAllComplete': function(event, queueID, fileObj,response){
                              reloadFotoBind();
                          },
                          'onComplete': function(event, queueID, fileObj,response){                        
                              var response = $.parseJSON(response);
                              $(response).each(function(k,v){
                                  if(v.id != 'error'){
                                      $('<li id="li_'+v.id+'"><img src="[baseUri]/thumb/'+v.url+'/130/100/" id="img_'+v.id+'"/></li>').appendTo('#photo-gallery-ul');
                                  }else{
                                      $('<li>erro</li>').appendTo('#photo-gallery-ul');
                                  }
                              })
                              //window.location = '[baseUri]/admin/item/editar/[item_id]/fotos/';
                          }            
                      })
                  })
              </script> 
              
              
              <input id="fupload" name="upload" type="file" class="hide" />
              
    • By Tecnix
      Preciso de ajuda para colocar uma função IF - Else no código abaixo, meu objetivo é que essa parte do código só possa rodar quando eu apertar e segurar a tecla z, agradeceria muito se me ajudassem
      o código:
       
          "lock_new_victim": {
              "type": "origins:target_action_on_hit"
              "cooldown": 0,
              "entity_action": {
                  "type": "origins:and",
                  "actions": [
                      {
                          "type": "origins:execute_command",
                          "command": "tag @s add PuppeteerVictim",
                          "permission_level": 2
                      },
                      {
                          "type": "origins:execute_command",
                          "command": "execute as @s at @s store result score @s VictimOwnerUUID1 run data get entity @p[tag=Puppeteer] UUID[0]",
                          "permission_level": 2
                      },
                      {
                          "type": "origins:execute_command",
                          "command": "execute as @s at @s store result score @s VictimOwnerUUID2 run data get entity @p[tag=Puppeteer] UUID[1]",
                          "permission_level": 2
                      },
                      {
                          "type": "origins:execute_command",
                          "command": "execute as @s at @s store result score @s VictimOwnerUUID3 run data get entity @p[tag=Puppeteer] UUID[2]",
                          "permission_level": 2
                      },
                      {
                          "type": "origins:execute_command",
                          "command": "execute as @s at @s store result score @s VictimOwnerUUID4 run data get entity @p[tag=Puppeteer] UUID[3]",
                          "permission_level": 2
                      }
                  ]
              }
          },
    • By Felper
      Estou criando um jogo de avançar casas e não estou conseguindo somar os valores sorteados pelo dado. Quero fazer assim:
      let somadado=0;
      let valorsorteado=5;
      somadado=5;
      valorsorteado=3;
      somadado=8;
      valorsorteado=2;
      somadado=10;
       
      Assim por diante. 
       
    • By ILR master
      Fala pessoal.
       
      Estou importando um arquivo xml para o meu DB porém, não consigo ler o campo data do xml. Todos os campos são lidos, menos o campo data. No xml ele está nesse formato: 09/06/2021 23:59:00
      Abaixo segue o código que estou usando:
       
      $xml = simplexml_load_file('cupons.xml');
      foreach($xml->coupon as $cupom) {
          echo $cupom->code.'<br>';
          echo $cupom->data.'<br>';
      }
       
      Obrigado!
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.