Jump to content

wanderval

Members
  • Content count

    244
  • Joined

  • Last visited

  • Days Won

    2

wanderval last won the day on June 10 2018

wanderval had the most liked content!

Community Reputation

19 Levemente Bom

5 Followers

About wanderval

  • Birthday 03/30/1984

Informações Pessoais

  • Sexo
    Masculino

Recent Profile Visitors

1519 profile views
  1. 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
  2. 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
  3. 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; } } }
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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(); }
  11. 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
  12. wanderval

    Calculo automatico inputs

    Da uma olhada nesse código: Html: <div role="tabpanel" class="tab-pane" id="avaliacao"> <div style="padding-top:20px;"> <form class="form-horizontal" action="" method="POST"> <div class="form-row"> <div class="form-group col-md-2"> <label for="peso">Peso</label> <input id="peso" type="text" name='peso' class="form-control" placeholder="Peso"> </div> <div class="form-group col-md-2"> <label for="altura">Altura</label> <input id="altura" type="text" name='altura' class="form-control" placeholder="Altura em metros"> </div> <div class="form-group col-md-2"> <label for="imc">IMC</label> <input id="imc" type="text" name='imc' class="form-control" placeholder="IMC"> </div> <div class="form-group col-md-2"> <label for="rcq">Relação Cintura Quadril</label> <input id="rcq" type="text" name='rcq' class="form-control" placeholder="RCQ"> </div> </div> </form> </div> </div> JS: function getElement(el) { return document.getElementById(el); } function validToCalc(fieldWeight, fieldHeight) { return fieldWeight.value && fieldHeight.value; } function calcImc(fieldWeight, fieldHeight) {console.log(fieldWeight, fieldHeight) const parsedWeigth = parseFloat(fieldWeight.replace(',', '.')); const parsedHeight = parseFloat(fieldHeight.replace(',', '.')); const calculatedImc = parsedWeigth/(parsedHeight * parsedHeight); return Math.round(calculatedImc.toFixed(2)); } function initCalc(fieldWeight, fieldHeight) { const imcResult = calcImc(fieldWeight.value, fieldHeight.value); setImc(imcResult); } function setImc(imcResult) { getElement('imc').value = imcResult; } window.onload = function() { const fieldWeight = getElement('peso'); const fieldHeight = getElement('altura'); fieldWeight.addEventListener('keyup', function() { if(validToCalc(fieldWeight, fieldHeight)) { initCalc(fieldWeight, fieldHeight); } }); fieldHeight.addEventListener('keyup', function(){ if(validToCalc(fieldWeight, fieldHeight)) { initCalc(fieldWeight, fieldHeight); } }); } Jsbin: https://jsbin.com/woluponofe/edit?html,js,console,output
  13. wanderval

    Botão "voltar" quiz em JavaScript

    O erro no seu código e que você não manipula a variável que é incrementada pra exibir o estado da questão atual: Before: function backQ(){ loadquestion(); i = i - 1; // ainda não entendi pq decrementou depois de carregar } After: function backQ(){ i = i - 1; numQ = i; loadquestion(); } JsBin: https://jsbin.com/zobofakija/edit?html,js,output PS: Seu html tá triste precisa estudar CSS aqueles "<br>" da um certo desgosto você colocou dentro do <head> todo o código e não está se preocupando com os espaçamentos tornado seu código sujo e seu Javascript tem que começar a pensar em reaproveitar código. fiz um outro código com um refactor: i = 0; var pontos = 0; var numQ = 1; var myqs = [ ["Clique na foto 3 ?","img3.gif", "img2.gif","img1.gif","img1a.gif","3"], ["Clique na foto 2 ?","icone.png","icone2.png","certo.png","certo.png","2"], ["Clique na foto 4","icone.png","errado.png","certo.png","certo.png","4"] ]; function initApp() { setValue('next', 'Próximo'); setBackground('next', 'lightgray'); loadQuestion(); } function loadQuestion(numQ = 1) { setContent('mylabel', myqs[i][0]); setImagesOnBox(); updateStateQuestion(numQ); defaultStateBox(); clearMessage('erro'); } function setImagesOnBox() { const targetList = ['btn0', 'btn1', 'btn2', 'btn3']; targetList.forEach((item, index) => setSrc(item, myqs[i][index+1])); } function updateStateQuestion(numQ) { setContent("numQ", "Questão " + numQ + " de " + myqs.length); } function defaultStateBox() { const targetList = ['imgbox1', 'imgbox2', 'imgbox3', 'imgbox4']; targetList.forEach(item => setBackground(item, 'white')); } function nextQuestion(){ i = i + 1; numQ = numQ + 1; loadQuestion(numQ); } function backQuestion(){ i = i - 1; numQ = numQ - 1; loadQuestion(numQ); } function checkans(a){ clearMessage('erro'); respostas = parseInt(myqs[i][5]); if(respostas === a){ pontos++; setContent("pontos", "Você acertou " + pontos); setBackground("imgbox"+respostas, "#99ff99"); } else { showIncorrectMessage(); } } function clearMessage(fieldId) { setContent(fieldId, ""); setColor(fieldId, ""); } function showIncorrectMessage() { setContent("erro", "Incorreta"); setColor("erro", "red"); } // Utils methods function refElement(fieldId) { return document.getElementById(fieldId); } function setValue(fieldId, value) { refElement(fieldId).value = value; } function setContent(fieldId, content) { refElement(fieldId).innerHTML = content; } function setBackground(fieldId, color) { refElement(fieldId).style.backgroundColor = color; } function setColor(fieldId, color) { refElement(fieldId).style.color = color; } function setSrc(fieldId, pathFile) { refElement(fieldId).src = pathFile; } Jsbin: https://jsbin.com/buduwibade/1/edit?html,js,output Removendo os <br>: https://jsbin.com/hiloxogufu/1/edit?html,css,output
  14. wanderval

    Como fazer para a DIV principal se expandir verticalmente

    Bom amigo infelizmente não consegui reproduzir o seu problema vou deixar o meu código aqui: JsBin: https://jsbin.com/hinofawuyo/edit?html,css,js,output HTML: <div class="container"> <div class="filho"> <div class="topo"></div> </div> <div class="titulo">Test</div> <div class="caixa"> <div class="preco link-expanded" onclick="expand(event)"> preco <div class="expanded">preco expanded</div> </div> <div class="linha link-expanded" onclick="expand(event)"> linha <div class="">linha expanded</div> </div> <div class="escondido link-expanded" onclick="expand(event)">escondido</div> <div class="balao_cinza link-expanded" onclick="expand(event)">balao</div> </div> </div> JS: function expand(event) { const linkRef = event.target.children[0]; linkRef.classList.toggle('expanded'); } CSS(Less): .container{ width: 850px; min-height: 513px; margin-left: 5%; margin-top: 5%; background-color: #DCDCDC; border-radius: 0.7em 0.7em; } .caixa .link-expanded { cursor: pointer; background: white; padding: 2px; border-bottom: 1px solid #eee; text-align: center; > div { display: none; &.expanded { height: 300px; background: green; display: block; } } }
  15. não, teria que ser algo genérico, tem que tratar essa informação como se viesse de uma fonte externa eu usaria um objeto: Observe tanto no método maeDe quanto paiDe eu chamo o método getListaDePais que me retorna a lista completa com todos os filhos e informação de pais então uso como referencia a string filho passada como parâmetro para pegar a informação especifica que desejo ex: listaDePais.fiuk.mae; listaDePais.cleoPires.mae; listaDePais.fiuk.pai; listaDePais.cleoPires.pai; function maeDe(filho){ const listaDePais = getListaDePais(); return listaDePais[filho].mae; } function paiDe(filho){ const listaDePais = getListaDePais(); return listaDePais[filho].pai; } function temAMesmaMae(filho1, filho2){ return maeDe(filho1) == maeDe(filho2); } function temOMesmoPai(filho1, filho2){ return paiDe(filho1) == paiDe(filho2); } function saoMeioIrmaos(filho1, filho2){ return temAMesmaMae(filho1, filho2) !== temOMesmoPai(filho1, filho2); } function getListaDePais() { return { 'fiuk': { 'mae': 'Cristina Karthalian', 'pai': 'Fábio Júnior' }, 'cleoPires': { 'mae': 'Glória Pires', 'pai': 'Fábio Júnior' }, 'sandy': { 'mae': 'Noely Pereira de Lima', 'pai': 'Durval de Lima' }, 'junior': { 'mae': 'Noely Pereira de Lima', 'pai': 'Durval de Lima' } }; } console.log(saoMeioIrmaos('cleoPires', 'fiuk')); // true console.log(saoMeioIrmaos('sandy', 'junior')); // false JsBin: https://jsbin.com/vufumukido/edit?html,js,console,output
×

Important Information

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