LOOP em mal funcionamento[erro de logica]

HTML

CSS

JavaScript

HTML5

CSS3

07/11/2020

É um site onde controla a quantidade de água que você toma durante o dia.
quando chega no loop, ao invés de somar, esta fazendo uma conta muito louca kkk

Quandoo retiro o Number() ele soma crt! mas concatena :( pq é string

function js() {
			var res = document.querySelector('.res')
			var ml = Number(document.querySelector('.ml').value)
			var meta = document.querySelector('.barra-meta')
			var media_meta = document.querySelector('.media-meta')
			if (ml == "" || ml.length == 0) {
				res.innerHTML = "Ml inválido"
				event.preventDefault()
				return false
			}
			if (ml < 0 || ml.length < 0 || ml == 0 ) {
				res.innerHTML = `ML inválido`
				event.preventDefault()
				return false
			}else{
			for (var rel = Number(0);rel < 2001; rel=rel+ml){          ENQUANDO A QUANTIDADE DE ÁGUA FOR MENOR QUE 2000L, ELE IRIA SOMAR.
				var rel = rel                                                                        
				media_meta.innerHTML = `$`
				document.querySelector(".add_agua").style.display = "none"
				document.querySelector('#home').style.opacity = '1'
				if (rel>249){
					meta.style.width = "6%"
				}
				if (rel>599){
					meta.style.width = "13%"
				}
				if (rel>999){
					meta.style.width = "24%"
				}
				if (rel>1249){
					meta.style.width = "31%"
				}
				if (rel>1499){
					meta.style.width = "37%"
				}
				if(rel>1999){
					meta.style.width = "48%"
					document.querySelector('#home').style.opacity = '0.2'
					document.querySelector("#parabens").style.display = "block"
				}
			}

			//media_meta.innerHTML = `$`
		}
	}
Wagner

Wagner

Curtidas 0

Respostas

Alex William

Alex William

07/11/2020

Olá amigo, tudo bem?

Tente desta forma:
for (int rel = 0;rel < 2001; rel+=ml)


Vejá se desta forma funciona.

Espero ter ajudado. :D
GOSTEI 0
Alex William

Alex William

07/11/2020

Olá amigo, só complementando.

Quando for fazer operações matematicas, use o tipo correspondente a numeros.

Se forem numeros inteiros, use INT. Se forem numeros com casas decimais, use DOUBLE ou FLOAT.

O tipo de dado "VAR" é muito genérico, e toda a vez que você for trabalhar, vai precisar converter ele.
GOSTEI 0
POSTAR