Ir para conteúdo

wanderval

Members
  • Total de itens

    409
  • Registro em

  • Última visita

  • Dias vencidos

    2

Tudo que wanderval postou

  1. wanderval

    Resultados duplicados quando seleciona o select

    Está faltando código onde está a implementação referente aos headers (Tamanho, Quantidade, EAN) aparentemente é uma segunda tabela e tem papel principal no problema o segundo ponto e que você não postou nenhuma estrutura de objeto, lamento mas se você não postar um exemplo do problema nunca terá uma solução de bug apenas especulação, como você colocou (database, php como back-end, e JS como front-end) o mínimo esperado e que seu código frond-end sejá completo e esse não é o caso. Outro ponto e que sua descrição está incoerente com o seu código de exemplo, afinal toda vez que você altera a grade todo conteúdo do elemento "mostrarGrades" será substituído então o método "adicionarCampo" perde o sentido já que tudo será substituído pelos dados pegos do banco
  2. wanderval

    Palavra em modo sequencial, não aleatório

    var amostra = new Array("primeiro", "segundo", "terceiro", "quarto"); var input = document.getElementById('input'); //solution function startDisplay() { let maxPosition = amostra.length; let selectedPosition = 0; var interval = setInterval(function(){ input.value = amostra[selectedPosition]; selectedPosition++; if(selectedPosition == maxPosition) { clearInterval(interval); } },1000); } startDisplay();
  3. wanderval

    Gatsby.js Tutorial

    Parabéns, pela iniciativa achei interessante o conteúdo, se eu arrumar tempo vou assistir a serie!
  4. Existem alguns problemas: 1- cidade não tem propriedade "nome" e sim "nomecidades" 2-freguesias tb não tem propriedade "nome" e sim "nomefreguesias" 3-Ao iterar os estados para setar as cidades, você está considerando cidades um objeto e não um array 4- seu código está precisando melhorar, está muito díficil de ler se não fosse a semantica dos metodos do jquery ficaria complicado. Fiz um refactor em outro link da uma olhada e ve se consegue aproveitar algo. Obs: os testes foram feitos com um mock da API que você disponibilizou mas tive que reduzir pro poder testar, mas a estrutura segue como a original. código comentado no item 3 $.each(data, function (key2, val2) { if(val2.cidades.nome == str2) { options_freguesias += '<option value="">Escolha a freguesia</option>'; $.each(val2.cidades.freguesias, function (key_freg, val_freg) { options_freguesias += '<option value="' + val_freg.nome + '">' + val_freg.nome + '</option>'; }); } }); JSON: [{ "nome": "Aveiro", "code": 1, "coorddistrito": "40.6791686,-8.997076", "cidades": [{ "nomecidades": "Águeda", "code": 101, "coordconselho": "40.5832995,-8.4542056", "freguesias": [{ "nomefreguesias": "Aguada de Cima", "code": 10103, "coordfreguesia": "40.5200465,-8.4307529" }, { "nomefreguesias": "Fermentelos", "code": 10109, "coordfreguesia": "" } ] }] }] link com fix: https://jsbin.com/sasetadene/edit?html,js,output link com refactor: https://jsbin.com/caqucajebu/edit?html,js,output
  5. não entendi sua pergunta, você está exibindo uma imagem com uma url do github, então a resposta está nesse repositório! link: https://github.com/9elements/fancy-border-radius/tree/master/src/js
  6. wanderval

    Autocomplete só mostra após segundo nome

    Bom o díficil da sua pergunta e que não da pra saber qual autocomplete você está utilizando, se for do proprio jquery e nao um custom o minLength é 1 por default pra disparar o evento do autocomplete: segue link da doc: https://api.jqueryui.com/autocomplete/#option-minLength 1-você deve checar se o evento está sendo disparado apos digitar "Maria" 2-você deve checar se o response está vindo correto caso na query esteja "Maria"
  7. wanderval

    Ajuda - Array na DIV

    eu fiz uma logica separada da sua da uma olhada e adapta a sua necessidade: HTML: <table id="producttable"> <thead> <tr> <th>Group</th> <th>License</th> </tr> </thead> <tbody> <!-- existing data could optionally be included here --> </tbody> </table> <template id="productrow"> <tr> <td class="group"></td> <td class="license"></td> </tr> </template> JS: // Build table dinamically function buildTable() { let groups = mapObject(getMockResult()); // Instancie a tabela com o HTML tbody e a row com o template var t = document.querySelector('#productrow'); var td = t.content.querySelectorAll("td"); for(var i = 0; i < groups.length; i++) { td[0].textContent = groups[i].name; td[1].textContent = groups[i].license; var tb = document.getElementsByTagName("tbody"); var clone = document.importNode(t.content, true); tb[0].appendChild(clone); } } function mapObject(data) { return Object.entries(data).map(([name, license]) => ({name, license})); } function getMockResult() { return { "GFUnificado":14, "APIGateway":22, "OSBSegregado1":202, "Portal":14, "OAM":30, "MicroServicos":68, "Loja":58.5, "60-Lojas":46, "-Callcenter":37, "360-Dealers":24, "SOAMecsol":30, "MeuEmpresas":40, "OSBFarm4":89, "Prisma":8, "EricssonRevenueManager":50.75, "N":80, "Atl":10, "OSBEAI":2, "Next":208.5 }; } buildTable(); jsbin: https://jsbin.com/qupekirari/1/edit?html,js,output
  8. wanderval

    Erro ao inserir bootstrap

    nesse caso aconselho você encontrar o css do bootstrap apenas referente a modal, já que se você importar o css da bublioteca inteira isso vai acontecer mesmo ela tem o padrão de margin e espaçamento dela. o que você pode tenatar fazer e coloca-la antes do css dessa pagina para verificar se o css é sobescrito caso contrario tera que pagar o css do bootstrap apenas referente a modal
  9. Será difícil alguém responder sem que você forneça uma imagem de request e response de ambos os navegadores, que uma analise possa ocorrer. -você disse que não funciona mas não informou se os navegadores apresentam algum erro então partir para um conceito de limitação sem ter essas respostas, obrigaria aos que queiram te ajudar a pesquisar em nem todos tem esse tempo
  10. wanderval

    Scroll igual ao do Trello

    não entendi o seu desejo pelo seguinte fato da barra de rolagem ser exibida na div da modal justamente para não interferir na pagina principal e você quer o oposto? se você cria uma modal você passa a trabalhar em uma outra camada que você deseja independência, então que tipo de usabilidade você pretende um uma modal que interfere na pagina principal, darei alguns nomes pra ver se consegui acompanhar seu raciocínio. Janela Mãe = tela principal do "Trello" Modal: janela de detalhes de task Div: container da modal seguindo esse pensamento pra mim a usabilidade está correta, já que as barras de rolagem devem apenas serem exibidas em suas determinadas camadas
  11. wanderval

    ajuda com regex em javascript

    Bom amigo, pra que alguém ajude você com Regex faltou uma coisa muito importante "PADRAO": 1-Padrões são necessários para o que você precisa, mas pelo que comentou, você quer usar pra varias outros produtos, resumindo se não tem padrão no texto então regex não faz milagre 2-Se esse arquivo é um log, não necessariamente é um arquivo de backup pra se recuperar as informações 3-Resumindo o problema não é a tecnologia mais sim sua fonte de dados ex de uma analise rapida, encontrei 3 padrões de registro, mesmo pegando a linha que você deseja como pretende lidar: AMAC.ROUPA XXXXXX YYYY Vermelho 20/12/19 390 26,03 5,00 1,71 35,51 0,00 0,00 0,00 5.233,8 S 40711-100 CXA 1 X 24 500ML N 1 produto.Limpeza XXXX-YYYY 20/12/19 1.872 26,03 5,00 1,71 35,51 0,00 0,00 0,00 24.785,3 S 9854-189 CXA 1 X 24 500ML N 2 produtoXXXX 20/12/19 234 26,03 5,00 1,71 35,51 0,00 0,00 0,00 3.098,2 S 19033-154 CXA 1 X 24 500ML N 3
  12. wanderval

    pegar valor da função

    O que exatamente não funcionou, a lógica está funcional sim, você pode conferir no link abaixo, não iria postar um código como solução sem estar funcionando se você tem uma pasta imagens e todas as imagens realmente são no formato jpg deveria estar funcionando sim mas vendo a sua resposta anterior você agora colocou um código usando jquery, mas tá ai minha opinião e que se não está funcionando e que não esta sabendo manipular os arquivos de images ou está colocando o path errado até as imagens, logo abaixo você vai poder conferiri no link e brincar um pouco e vai ver que nada está errado com a lógica link jsbin: https://jsbin.com/pafiroqeco/edit?html,js,output
  13. wanderval

    Porcentagem com JavaScript

    Simples erro clássico de programação sem validação de valores em cálculos. 1-zero não é divisível da mesma forma que null também não 2-comma é ignorada em cálculos você deve realizar um replace. Obs: como você descreveu que o valor deveria aparecer independente do valor informado, você deve ter em mente que o erro ocorre mostrando NaN, pq a variável desconto está na formula toda iteração então e seu trabalho cuidar pra que ela tenha um valor default ou seja inicializada pra evitar isso já que está trabalhando com cálculos. solução: function calcValor() { //Declarando as variaveis let preco, porcentagem, desconto, novopreco; //Obtendo dados atraves do prompt preco = document.getElementById("CAMPO_87").value.replace(',','.'); preco = parseFloat(preco); porcentagem = parseFloat(document.getElementById("CAMPO_85").value || 0); console.log(preco) document.getElementById("CAMPO_88").value = preco; console.log(preco) //Realizando os calculos desconto = preco * porcentagem / 100; novopreco = preco - desconto; //O .toFixed(2) faz com que o valor seja corrijdo para duas casas decimais document.getElementById("CAMPO_88").value = novopreco || ""; } Sugestão de refactor function calcValor() { //Declarando as variaveis let preco, porcentagem, desconto, novopreco; //Obtendo dados preco = getPreco(); porcentagem = getPorcentagem(); //Set dados if(porcentagem){ novopreco = calculoPorcentagem(preco, porcentagem); setMensalidadeField(novopreco); } else { setMensalidadeField(preco); } } function getPreco() { return parseFloat(document.getElementById("CAMPO_87").value.replace(',','.')); } function getPorcentagem() { return porcentagem = parseFloat(document.getElementById("CAMPO_85").value || 0); } function calculoPorcentagem(preco, porcentagem) { const desconto = preco * porcentagem / 100; return preco - desconto; } function setMensalidadeField(preco) { document.getElementById("CAMPO_88").value = preco; } jsbin: https://jsbin.com/yalokuyinu/edit?html,js,output
  14. wanderval

    pegar valor da função

    seu erro é simples você não está sabendo lidar com o id, e aparentemente desconhece o básico de javascript, então sugiro que estude mais! Erros: 1-voce está querendo substituir o valor usando uma #demo, não é usado geralmente # no html, normalmente é usado no css para especificar id no html é usado tags, então quando se usa o método getElementById semanticamente ele ira buscar o "id" no dom do html e não apenas uma string como você implementou 2-no javascript está usando o método innerHtml quando deveria estar usando "src" se seu intuito e trocar os paths das imagens dinamicamente. 3-o path deve ser construído no javascript já que você quer fazer essa troca dinamicamente 4-chama a linguagem que está demonstrando de Java. Solução Html <img id="demo" src="" alt="Card"> JS: document.getElementById("demo").src = "imagens/" + Math.floor((Math.random() * 22) + 1) + ".jpg";
  15. wanderval

    Texto "imprensado"

    so uma observação você deveria colocar uma espaçamento levando em consideração o tamanho do loader, é meio chato ficar fazendo a busca e a tabela ficar dançando quando o loading aparece e quando desaparace
  16. Primeiramente seu tópico está relacionado ao elemento polyline e sua descrição ao tooltip isso deixa confuso para saber qual realmente é o seu problema: linhasvg: 1 - remova o constructor Number afinal você deve receber uma sequencia numerica ex:"2,5,100,150" já que esse elemento espera pontos de x,y, enviando apenas um numero ex: "2" não basta para criar uma linha logo nada é exibido, o Number deve ser removido já que não essa sequencia não seja um int ou float e sim uma string 2 - foi adicionado um eventListener ao elemento criado dinamicamente afinal após o carregamento da pagina o script tooltip não é chamado novamente para que consiga identificar os novos elementos então essa alteração acredito ser inevitável //Antes function criarlinha() { // ... for (let i = 0; i < 4; i ++ ){ pontos.push(Number(prompt("Informe os valor"))); } linha.setAttribute("class","draggable tooltip"); linha.setAttribute("name",equipe); linha.setAttribute( "points", pontos); linha.setAttribute("fill", "none"); linha.setAttribute("stroke","green"); linha.setAttribute("stroke-width", 6); linha.setAttribute("equipe",equipe) linha.setAttribute("os","2997/2019") linha.setAttribute("trecho","POA/CVN") linha.setAttribute("fiscal","Fiscal: Fulano de Tal"); } //Depois function criarlinha(){ // ... for (let i = 0; i < 4; i ++ ){ pontos.push(prompt("Informe os valor")); // linha modificada } linha.setAttribute("class","draggable tooltip"); linha.setAttribute("name",equipe); linha.setAttribute( "points", pontos); linha.setAttribute("fill", "none"); linha.setAttribute("stroke","green"); linha.setAttribute("stroke-width", 6); linha.setAttribute("equipe",equipe) linha.setAttribute("os","2997/2019") linha.setAttribute("trecho","POA/CVN") linha.setAttribute("fiscal","Fiscal: Fulano de Tal"); linha.addEventListener('mouseover', tooltip); // linha adicionada } Tooltip: 1 - Foi adicionado um novo evento para que o tooltip seja exibido após o evento hover no polyline criado 2 - Foi adicionado o método hideTooltip já que estava faltando no código postado nesse post function tooltip(evt) { // .... for (var i = 0; i < triggers.length; i++) { triggers[i].addEventListener('mousemove', showTooltip); triggers[i].addEventListener('mouseout', hideTooltip); triggers[i].addEventListener('mouseover', showTooltip); // linha adicionada } // ... function hideTooltip(evt) { // metodo adicionado tooltip.setAttributeNS(null, "visibility", "hidden"); } } Ex: https://playcode.io/481497?tabs=tooltip.js,preview
  17. wanderval

    Digitar só números 2

    A Resposta do @ShadowDLL é ideal mas olhando o seu código eu consegui corrigir a sua lógica: HTML: Eu adicionei o parametro shiftKey que identifica se o shift foi selecionado <input type="text" onKeyDown="return VerificarTeclas(event.keyCode, event.shiftKey)"> JS: Assim na primeira condicional foi adicionada uma verificação com base no atributo shift function VerificarTeclas(tecla, shiftEnable) { if (tecla > 47 && tecla < 58 && !shiftEnable) { return true; } else { if (tecla != 8 && tecla != 13 && tecla != 37 && tecla != 38 && tecla != 39 && tecla != 40 && tecla != 46) { return false; } else { return true; } } }
  18. wanderval

    Redirecionamento com button

    na verdade pelo que li você esta fazendo errado, você está utilizando button e um "a" e porque não apenas o "a" já que você pode estilizar ele pra parecer um botão e o href ira funcionar normalmente
  19. wanderval

    JSON retorna apenas um row

    Seu erro é simples, pelo seu código você está substituindo o valor dentro #trHorarios sempre pelo valor atual da iteração: .html você insere o conteúdo dentro do corpo do elemento mas não mantém o item atual somente reescreve o dom $("#trHorarios").html(item); agora altere para isso: $("#trHorarios").append(item); O append adiciona o novo item mantendo os items existentes dentro do corpo do elemento
  20. wanderval

    Loop que insere Input Text no html

    Olha esse código: HTML: <div class="container"> <section class="container-controls"> <label> <input type="text" id="numberFields" /> <button type="button" onclick="buildFields()"> build fields </button> </label> </section> <section class="container-fields" id="container-fields"> </section> <section class="container-result"> <label>Result:</label> <span id="result">0</span> </section> </div> JS: function buildFields() { const numberOfFields = document.getElementById('numberFields').value; reset('container-fields'); builderFields(numberOfFields); } function builderFields(numberOfFields) { const container = document.getElementById('container-fields'); const form = createForm('form-fields'); for(let fieldIndex = 1; fieldIndex <= numberOfFields; fieldIndex++) { const div = createDiv('container-row'); const label = createLabel(fieldIndex); const input = createInput('fields', fieldIndex); div.appendChild(label); div.appendChild(input); form.appendChild(div); container.appendChild(form); } if (numberOfFields) { const button = createButton('calc()', 'calc'); container.appendChild(button); } } function calc() { const formFields = document.getElementsByClassName('fields'); const resultField = document.getElementById('result'); let total = 0; for(let fieldIndex = 0; fieldIndex < formFields.length; fieldIndex++) { const currentValue = parseFloat(formFields[fieldIndex].value); if (currentValue) { total += currentValue; } } resultField.innerHTML = total; } // Utils function reset(elementId) { document.getElementById(elementId).innerHTML = ''; } function createDiv(classField) { var element = document.createElement("div"); element.classList.add(classField); return element; } function createInput(classField, index) { var element = document.createElement("input"); element.setAttribute("type", "text"); element.classList.add(classField, classField + '-' + index); return element; } function createButton(method, labelButton) { var element = document.createElement("button"); var text = document.createTextNode(labelButton); element.setAttribute("onclick", method); element.appendChild(text); return element; } function createForm(classField) { var element = document.createElement("form"); element.setAttribute("id", classField); element.classList.add(classField); return element; } function createLabel(textLabel) { var element = document.createElement("label"); var text = document.createTextNode(textLabel); element.appendChild(text); return element; } jsbin: https://jsbin.com/zevocatida/1/edit?html,js,output
  21. wanderval

    Médias Ponderadas

    veja se é isso: function main() { let n; let val; let ans = []; while(1) { n = prompt(); if (!n) return 0; for (let i = 0 ; i < n; i++) { val = 1; for (let j = 0 ; j < n; j++) { if (i === 0 || i == n - 1 || j === 0 || j == n - 1) { ans[j] = 1; } else { ans[j] = min(n-i, min(i+1, min(n-j, j+1))); } } } for (let i = 0 ; i < n; i++) { for (let j = 0 ; j < n; j++) { console.log(ans[j]); if (j < n - 1) console.log(" "); } console.log("\n"); } console.log("\n"); } } main(); jsbin: https://jsbin.com/nopozudeca/edit?html,js,console,output
  22. wanderval

    Dúvida com erro - comparações contra strings

    Bom existe uma inconsistência no seu código: // no enunciado e dito que o tempo mínimo de contribuição é 30 você colocou 40 então os testes vão falhar anosTrabalhados >= 40 // código com alteração function podeSeAposentar (idade, sexo, anosTrabalhados) { if(anosTrabalhados >= 30) { if(sexo == "F") { if(idade >= 60) { return true; } } else if(sexo == "M") { if(idade >= 65){ return true; } } } return false; } console.log(podeSeAposentar(62, "F", 34)); jsbin: https://jsbin.com/wokejimani/edit?html,js,console,output
  23. wanderval

    Ajuda com erro em JavaScript

    pelo que li e por este teste seria isso: function caloriasDeTrote(numerodeVoltas) { var caloriasPVolta = 5; // foi removida o caulculo já o calculo e feito dentro do for essa variavel não deve ser setada inicialmente com valoresgerando inconsistencia; var caloriasTotais = 0; for(var i = 1; i <= numerodeVoltas; i++){ // solução : foi adicionado o operador "+=" assim cada volta será somada com a anterior // erro: sem o operador "+=" toda iteração dentro do for estava setando um novo valor na variavel calorias totais caloriasTotais += (caloriasPVolta *= i); } return caloriasTotais; } jsbin: https://jsbin.com/yesakekebu/edit?html,js,console,output
  24. wanderval

    Clicar botão getElementsById sem resposta

    Bom seu erro está na chamado do método que está no plural, ao contraria de class o método byId é no singular porque se espera que haja apenas um elemento com determinado Id: repare que você colocou "getElements"e não "getElement" no final não se coloca [0] pq sempre será retornado uma única referência sendo um objeto e não array function goToActivityTab() { // var activityTab = document.getElementsById("btn_pesquisa_clausulaServico")[0]; var activityTab = document.getElementById("btn_pesquisa_clausulaServico"); activityTab.click(); }
  25. wanderval

    Ajuda com Gráfico de Linha do Google

    O que achei estranho no seu código é que no seu for você esta colocando 1 array dentro de outro, o que não entendi afinal quando você usa o push você já está adicionando o array dentro de outro: let linhas = []; for(let i = 0 ; i < 18; i ++){ linhas.push([0, 1 , i]); } console.log(linhas); Output: [[0, 1, 0], [0, 1, 1], [0, 1, 2], [0, 1, 3], [0, 1, 4], [0, 1, 5], [0, 1, 6], [0, 1, 7], [0, 1, 8], [0, 1, 9], [0, 1, 10], [0, 1, 11], [0, 1, 12], [0, 1, 13], [0, 1, 14], [0, 1, 15], [0, 1, 16], [0, 1, 17]] jsbin: https://jsbin.com/yubimahada/edit?html,js,console,output
×

Informação importante

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