-
Total de itens
412 -
Registro em
-
Última visita
-
Dias vencidos
2
Tudo que wanderval postou
-
JAVASCRIPT - Erro em multiplicar 03(três) Inputs
wanderval respondeu ao tópico de violin101 em Javascript
não tem lógica permitir zero, afinal não existe volume se qualquer uma dessas variáveis for zero! -
var diffDays; function r(f){ /in/.test(document.readyState)?setTimeout('r('+f+')',9):f() } r(function(){ var dataini = document.getElementById('dataini').innerHTML; var datafim = document.getElementById('datafim').innerHTML; var date1 = criarData(dataini); var date2 = criarData(datafim); const diffTime = (date2 - date1); diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24)); document.getElementById('dias').innerHTML += diffDays; mudarVela(); }); function criarData(str) { return new Date(str.substring(0, 4), str.substring(4, 6), str.substring(6, 8)); } //mudar o height da vela function mudarVela() {console.log(diffDays) if (diffDays === 2) { // document.getElementById("candle").style.height = "100px"; document.getElementById("candle").style.setProperty("height", "100px", "important"); } } https://jsbin.com/xisekeqido/edit?html,js,output
-
javascript Resultados duplicados quando seleciona o select
wanderval respondeu ao tópico de Marcos RJ em Javascript
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 -
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();
-
Parabéns, pela iniciativa achei interessante o conteúdo, se eu arrumar tempo vou assistir a serie!
-
Como formar select option através de um json com multiplos niveis
wanderval respondeu ao tópico de fsantos em Javascript
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 -
Como faco para fazer algo similar a essas bordas interativas, pelo site.
wanderval respondeu ao tópico de Eduardo9961 em Javascript
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 -
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
-
Erro ao inserir bootstrap
wanderval respondeu ao tópico de Luiz Felipi Barone em Desenvolvimento frontend
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 -
WhatsApp API - limite de caracteres no Chrome e Edge (versão Chormium)
wanderval respondeu ao tópico de FabianoSouza em Desenvolvimento frontend
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 -
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
-
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
-
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
-
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
-
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";
-
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
-
Função Javascript não reconhece Class de Polyline SGV criada dinamicamente com Javascript
wanderval respondeu ao tópico de Givanildo_Silva em Javascript
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 -
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; } } }
-
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
-
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
-
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
-
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
-
strings Dúvida com erro - comparações contra strings
wanderval respondeu ao tópico de Jehlemos em Javascript
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 -
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
- 2 respostas
-
- javascript
- function
- (e mais 1 )
-
Clicar botão getElementsById sem resposta
wanderval respondeu ao tópico de cleomarjose em Javascript
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(); }