Jump to content

ghostdancing

Members
  • Content count

    5
  • Joined

  • Last visited

Community Reputation

0 Comum

About ghostdancing

  1. ghostdancing

    Dúvida sobre um exercício em JS

    [RESOLVIDO] @admin <!DOCTYPE html> <!--Multiplica dois números reais e exibe o resultado na div "demo". Caso o usuário queira repetir o cálculo, basta apertar ENTER.--> <html> <body onload= "alert('Olá! Vamos calcular a área de um objeto. Clique no botão &quot Calcule a área &quot para começarmos.')"> <p>Para calcularmos a área de uma superfície, geralmente,<br/> multiplicamos a base (b) pela altura (h) do objeto.</p> <p id="demo"></p> <button onclick ="myFunction();">Calcule a área</button> <script> function myFunction() { var x = parseFloat(prompt("Insira a base do objeto")); var y = parseFloat(prompt("Agora a altura do objeto")); document.getElementById("demo").innerHTML = "A área do objeto é: " + (x*y); if (isNaN(x) || isNaN(y) || isNull(x) || isNull(y)) { document.getElementById("demo").innerHTML = "Por favor, insira números.";} alert('Caso queira repetir o cálculo, aperte ENTER.'); } </script> </body> </html>
  2. ghostdancing

    Calcular várias equações e mostrar em um único input

    Olá, boa tarde! Talvez resolva seu problema! Se me permite, queria fazer algumas considerações. Sua dúvida não ficou muito clara pra mim, por isso não sei se o código pode te ajudar, pois você não postou com o código HTML, por isso não posso afirmar que seu código funcionava ou não, então tive que reescrever. No seu código há uma diferença entre a variável declarada e o que é passado na função. Exemplo: Também cuidado com a declaração de métodos. toFixed() ,assim como .toPrecision(), são métodos que convertem um número em uma string, por isso, quando você inserir 2 e 2.3 o resultado aparecerá 4.3, mas se você inserir 1ava e 3real o resultado será 4.00. E é isso. Até! <!DOCTYPE html> <html> <body> <input id="ama" /> <input id="bama" onblur="calc();"/> <input id="cama" /> </body> <script> function calc(){ var x = parseFloat(document.getElementById('ama').value); var z = parseFloat(document.getElementById('bama').value); var soma = x+z; var y = document.getElementById('cama'); if(soma >= 0 && soma <= 1000 ){y.value = soma.toPrecision(4);} else if(soma >= 1001 && soma <=2000) {y.value = (x*0.10)+ soma.toPrecision(4);} else if(soma >= 2001 && soma <=3000){y.value = (x*0.20)+ soma.toPrecision(4);} else if(soma > 3001) {y.value = (x*0.30)+ soma.toPrecision(4);} else { y.value = "Dados Incorretos"; } } </script> </html>
  3. ghostdancing

    Dúvida sobre um exercício em JS

    Então @alexdcarvalho, esse é realmente complicado, pelo menos pra mim. O que eu fiz foi o seguinte: <!DOCTYPE html> <!--Multiplica dois números reais e exibe o resultado na div "demo". Caso o usuário queira repetir o cálculo, basta apertar ENTER. A condicional não funciona corretamente pois NaN é um dado do tipo número--> <html> <body onload= "alert('Olá! Vamos calcular a área de um objeto. Clique no botão &quot Calcule a área &quot para começarmos.')"> <p>Para calcularmos a área de uma superfície, geralmente,<br/> multiplicamos a base (b) pela altura (h) do objeto.</p> <p id="demo"></p> <button onclick ="myFunction();">Calcule a área</button> <script> function myFunction() { var x = parseFloat(prompt("Insira um número")); var y = parseFloat(prompt("Agora outro número")); if (typeof x === 'number' && typeof y === 'number' ) {document.getElementById("demo").innerHTML = "O resultado é: " + (x*y);} else { document.getElementById("demo").innerHTML = "Por favor, insira números.";} alert('Caso queira repetir o cálculo, aperte ENTER.'); } </script> </body> </html> Troquei o parseInt() por parseFloat() para o usuário calcular números reais. Multiplica dois números reais e exibe o resultado na div "demo". Caso o usuário queira repetir o cálculo, basta apertar ENTER. Sei que não resolve seu problema, mas é porque ao ler sobre alert() e prompt() e tipos de dados em JavaScript, reparei que o método prompt() irá interpretar o valor recebido como string e ao colocar parseInt() (ou float()) antes do prompt(), você faz a janela interpretar o string como um number data type. O problema disso está na interpretação final da função condicional: SE x for igual a um número e y também, então calcule, SENÃO diga para o usuário inserir números. Bom, acontece que NaN é um dado do tipo número, por isso o else não irá funcionar aqui. "Mas cara, se era pra não mostrar solução, por que então colocar isso aqui?" É que estou aprendendo também. Rode esse novo código, por favor, quem sabe você não chegue a solução primeiro?
  4. ghostdancing

    mostrar/esconder

    Olá pessoal! Juro que quebrei a cabeça, mas como sempre, não estou enxergando algo. Se puderem me ajudar agradeço. Gostaria de apertar na <label> Entrar e aparecer o <form id="formlogin">, ao clicar novamente ele desaparecesse, e eu consegui fazer isso, mas eu quero também que ao clicar na <label> Cadastrar, o #formlogin desaparecesse e ficasse o #formcadas e vice-versa. Eis o código: <head> <style type="text/css"> * { margin:0; padding:0; box-sizing:border-box; } button { border: none; background-color: white; display:inline;} #folo{ position: relative; top: 3px; left: 30px; background-color:lightgrey; max-width: 133px; } </style> <head> <body> <div id="folo" > <label id="entrarbtn" onclick="mostra();">Entrar</label> |<label onclick="mostra();"id="cadasbtn" onclick=""> Cadastro</label> </div> <form id="formlogin" style="position: relative; top: 3px; left: 30px; display:none;"> nome/e-mail:<br/> <input type="" name=""><br/> senha:<br/> <input type="" name=""><br/> <button>entrar</button> </form> <form id="formcadas" style="position: relative; top: 3px; left: 30px; display:none;"> nome/e-mail:<br/> <input type="" name=""><br/> senha:<br/> <input type="" name=""><br/> <button>cadastrar</button> </form> <script type="text/javascript"> function mostra(){ var login = document.getElementById("formlogin"); if (login.style.display ==="none"){login.style.display = "inline-block";} else{ login.style.display ="none"} } function mostraum(){ var cadas = document.getElementById("formcadas"); if (cadas.style.display === "none"){cadas.style.display = "inline-block";} else{cadas.style.display = "none";} } </script> </hmtl> Desse jeito funciona, mas as divs aparecem uma ao lado da outra e não é isso que eu queria. Agradeço desde já!
  5. <script> function Mod(){ var x = document.getElementById('oi').value; if (x = 12|| x = 13){document.getElementById('io')=== 2;} } </script> </head> <body> <input type="text" name="oioi" id="oi"> </input> <input type="text" name="oioi" id="io" onblur="Mod();"> </input> </body>
×

Important Information

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