-1
Talk, people. Beauty ?
I opened a topic yesterday to try to find a solution, however, ended up ending the topic unintentionally.
Well.... My little program has the following function, it takes the year of birth and sex, soon after, it returns with a text and a photo referring to age. The problem is in IF conditions, because it takes the year and does not return the correct IMG. In addition, I tried to make another version of the.js file to try to validate the inputs correctly, but I think it’s getting kind of buzzed kkkk
Any suggestions for a dev. that is starting now with Javascript ?
NOTE: This program is almost the same as Gustavo Guanabara’s Youtube Video Course
function verificar() {
//Pegando o ano atual
var data = new Date()
var ano = data.getFullYear()
//ligação dos inputs com as variaveis
var nascimento = document.getElementById('ano')
var nascimento_valor = Number(nascimento.value)
var sexo = document.getElementsByName('radioSexo')
var texto = document.getElementById('texto')
var imagem = document.createElement('img')
imagem.setAttribute('id', 'foto')
var tag_img = imagem
//Verificação de dados
if (nascimento_valor > ano || nascimento_valor < 1900) {
alert('Por Favor verifique os dados de nascimento !!!')
} else {
var idade = Number(ano - nascimento_valor)
}
//Recebendo e convertendo os valores
var genero = ''
if (sexo[0].checked) {
genero = 'masculino'
//Criando o elemento <img> para receber as imagens
if (nascimento_valor >= 0 && nascimento_valor <= 10) {
imagem.setAttribute('src', 'crianca-masculino.jpg')
} else if (nascimento_valor >= 11 && nascimento_valor <= 18) {
imagem.setAttribute('src', 'jovem-masculino.jpg');
} else if (nascimento_valor >= 19 && nascimento_valor <= 50) {
imagem.setAttribute('src', 'adulto-masculino.jpg');
} else {
imagem.setAttribute('src', 'idoso-masculino.jpg')
}
} else if (sexo[1].checked) {
genero = 'feminino'
//Criando o elemento <img> para receber as imagens
if (nascimento_valor >= 0 && nascimento_valor <= 10) {
imagem.setAttribute('src', 'crianca-masculino.jpg')
} else if (nascimento_valor >= 11 && nascimento_valor <= 18) {
imagem.setAttribute('src', 'jovem-feminino.jpg')
} else if (nascimento_valor >= 19 && nascimento_valor <= 50) {
imagem.setAttribute('src', 'adulto-feminino.jpg')
} else {
imagem.setAttribute('src', 'idoso-masculino.jpg')
}
} else {
alert('Você esqueceu de marcar o sexo !!!')
}
//Recebendo o texto dinamicamente
texto.innerText = `Você nasceu em ${nascimento_valor}, tem ${idade} anos e gênero ${genero}`
texto.appendChild(imagem)
}
link to the Github repository: https://github.com/MatheusDourado/Calculadora-de-idade
Dude, break it into other roles. Do you know the SOLID concept? [S] = Single responsability. Every function has its own responsibility.. https://www.infoq.com/br/news/2014/solid-principios-javascript/
– Vinicius Cainelli
You put birth date.... And not age us if’s
– Maury Developer