Ir para conteúdo

daviassumpcao

Members
  • Total de itens

    78
  • Registro em

  • Última visita

Posts postados por daviassumpcao


  1. Tenho uma lista de DIV's com a mesma class name informado valor de desconto nos itens porém está dando casa decimal e gostaria de tirar isso... utilizei o Math.round()  porém não está surtindo efeito. Seria pegar esse valor --> aplicar esse Math.round() e devolver corrigido. É possível fazer isso sem informar o valor literal do registro? Até anexei um print do console da página

     

    function porcentagem(){
      var a = document.getElementsByClassName('prateleira-label-desconto').value;
      b = Math.round(a);
      document.getElementsByClassName("prateleira-label-desconto").innerHTML= b;
    }

     

    Screen-Shot-2021-02-24-at-01.53.06.png


  2. Pessoal... há valores em um JSON sendo exibidos por um JS (imagem anexo)... preciso verificar se um valor "x" está em um determinado nó do JSON. E a partir daí exibir uma div.... marquei na imagem com um círculo rosa qual valor quero verificar porém meu script não funciona... material de estudo. É possível fazer isso acontecer?

     

    JS

    const jsonCat = vtxctx.categoryId;
    const catProd = JSON.parse(jsonCat);
    var divProd = document.getElementById('faq-connect');
    
    if (catProd.categoryId == 10103) {
      divProd.style.display = 'block';
    }
    else{
      divProd.style.display = 'none';
    }

    HTML para exibir uma DIV em caso positivo

    <div class="faq-connect" style="display:none">              
      <p>Sucesso!</p>
    </div>

     

     

    Screen-Shot-2021-01-14-at-22.01.56.jpg


  3. 2 horas atrás, Omar~ disse:

    children nada mais é que um array com o(s) filho(s) de algum elemento, então pegamos o texto contido nesse filho e enviamos para a função.

     

    Então obtemos o primeiro e o segundo filho

     

    Definimos que o valor da variável será o retorno da função clacularPreco enviando o texto contido no filho[0] e no filho[1] 

     

    em calcularPreco a será o texto contido no filho[0] e b será o texto do filho[1]

     

     

     

    Show de bola demais! Muito obrigado.


  4. @Omar~ Clara e objetiva sua resposta. Muito obrigado.... chegar aos filhos através do pai de fato (childrens) eu novo pra mim e show de bola, estou até buscando mais informações sobre isso. Deixa eu entender mais uma coisa nesse ponto da função.... (a e b) já vem na ordem que foi especificado lá em cima? _prateleira[_i].children[0]; e _prateleira[_i].children[1]; 

    function calcularPreco(a, b) {
        var floatA = parseFloat(extrairPreco(a)),
            floatB = parseFloat(extrairPreco(b));
        return (((floatB / floatA) * 100) - 100).toFixed(2);
    }

    Muito obrigado novamente! 


  5. Pessoal... Estou pegando 2 valores via class em divs e fazendo um cálculo para saber a porcentagem de desconto obtida (uma lista de registros). Porém, quando vou inserir o resultado em outras div's com class também, não funciona. Se eu mudo para id, é inserido na primeira div apenas. O identificador dessa div é a "desconto" que está com o fundo vermelho. É errado usar o getElementsByClassName para inserir os valores encontrados? Até tentei um for mas não rolou.... (sou iniciante em JS e isso é exercício estou fazendo) O script:

     

    <div class="container">
      <div class="prateleira-wrap">
        <div class="prateleira-preco-de">De R$ 10,00</div>
        <div class="prateleira-preco-por">Por R$ 5,00</div>
        <div class="desconto"></div>
      </div>
    
      <div class="prateleira-wrap">
        <div class="prateleira-preco-de">De R$ 9,00</div>
        <div class="prateleira-preco-por">Por R$ 3,00</div>
        <div class="desconto"></div>
      </div>
    </div>
    .container{
      background-color:#e4e4e4;
      width:100%;
      height:auto;
      float:left;
    }
    .prateleira-wrap{
      border: 1px solid #000; 
      width:40%; 
      float:left;
      margin:10px;
    }
    .desconto{
      background-color:red;
      color:#fff;
      width:100%;
      height:20px;
      float:left;
    }
    function getMoney(str) {
                 return str
                     .replace(/[^\d,]+/g, '') // Remove caracteres desnecessários.
                     .replace(',', '.');      // Troca o separador decimal (`,` -> `.`)
                 }
                 var a = document.getElementsByClassName("prateleira-preco-de")[0].innerHTML;
                 var b = getMoney(a);
                 var c = document.getElementsByClassName("prateleira-preco-por")[0].innerHTML;
                 if ( c !== null) {
                     var d = getMoney(c);
                     var e = ((d / b) * 100) - 100;
                     var f = e.toFixed(2);
                     document.getElementsByClassName("desconto").innerHTML = ('Desconto de ' + f + '%');
                    // console.log('Desconto de ' + f + '%');
                 } else {
                     console.log("Não há desconto no preço do produto");
                 }

     

     

     


  6. @Omar~

     

    Eu até tentai melhorar... Na verdade esse valor vem de uma classe... e em outro elemento estou exibindo ele após ser tratado... é a mesma questão (botei aqui o HTML e JS separados)?

     

    <p>Preço do item: <strong class="entrada">R$ 229,00</strong></p>
    
    <button onclick="myFunction()">Clique para tratar o valor</button>
    
    <p>Valor de Saída: <span style="color:red" id="saida"></span></p>
    function myFunction() {
      var test = document.getElementsByClassName("entrada");
    
      function getMoney( str )
      {
              return parseInt( str.replace(/[\D]+/g,'') );
      }
      function formatReal( int )
      {
              var tmp = int+'';
              tmp = tmp.replace(/([0-9]{2})$/g, ",$1");
              if( tmp.length > 6 )
                      tmp = tmp.replace(/([0-9]{3}),([0-9]{2}$)/g, ".$1,$2");
    
              return tmp;
      }
    
    
      var int = getMoney( test );
      document.getElementById("saida").innerHTML = (formatReal( int ));
    
    }

     


  7. Pessoal... estou iniciando estudos em JS e me deparei com um desafio: Preciso tratar um valor (string) para obter apenas número...  a primeira variável retorna NAN, as outras retornam corretamente. O que posso estar fazendo errado na variável "a" ... preciso que seja retornado "299,00" ... agradeço antecipadamente. 

     

    Segue código: 

     

    <p id="demo"></p>
    
    <script>
    
      var a = parseInt("R$ 299,00") + "<br>";
      var b = parseInt("40 years") + "<br>";
      var c = parseInt("10.00") + "<br>";
    
      var n = a + b + c;
      document.getElementById("demo").innerHTML = n;
    
    </script>

     


  8. Estou buscando uma orientação ou referência para desenvolver algo similar ao formulário dessa página do iPhone https://www.apple.com/shop/buy-iphone/iphone-se ... quando selecionamos alguma opção, a div que contém o formulário centralizar na página e rola feito um carrossel. Estou completamente perdido com essa demanda que recebi... agradeço antecipadamente a todos que derem uma força. Abraço

×

Informação importante

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