Executando verificação de segurança...
1

divida sobre bug no codigo

boa noite turma !!

Hoje eu escrevi um codigo em Javascript
de 232 linhas e quando fui rodar no meu navegador (firefox) ele simplemente travou
nao sei o motivo (nao sei se o codigo pesa ou nao)

mas o codigo é este :

parte html

treino de javascript
<header>
    <h1>treino de javascript</h1>
</header>

<section class="s0">
    <div class="area" onclick="clicou()" onmouseenter="entrou()" onmouseout="saiu()">Clique em mim !!</div>
</section>

<section class="s1">
    <h3>calculadora de soma </h3>
    
    <input type="number" name="txtn1" class="txtn1">+
    <input type="number" name="txtn2" class="txtn2">
    <input type="button" value="somar" onclick="somar()">
    <div class="res1">O resultado ira aparecer aqui ! </div>
</section>

<section class="s2">
    <h3>calculadora de subtraçao</h3>

    <input type="number" name="txtn3" class="txtn3">-
    <input type="number" name="txtn4" class="txtn4">
    <input type="button" value="subtrair" onclick="subtrair()">
    <div class="res2">O resultado ira aparecer aqui !</div>
</section>

<section class="s3">
    <h3>calculadora de multiplicaçao</h3>

    <input type="number" name="txtn5" class="txtn5">X
    <input type="number" name="txtn6" class="txtn6">
    <input type="button" value="multiplicar" onclick="multiplicar()">
    <div class="res3">O resultado ira aparecer aqui !</div>
</section>

<section class="s4">
    <h3>calculadora de divisao</h3>

    <input type="number" name="txtn7" class="txtn7">
    <input type="number" name="txtn8" class="txtn8">
    <input type="button" value="dividir" onclick="dividir()">
    <div class="res4">O resultado ira aparecer aqui !</div>
</section>

<section class="s5">
    <h3>radar de velocidade</h3>
    
    <input type="number" name="txtvel" class="txtvel">km/h
    <input type="button" value="verificar" onclick="velocidade()">
    <div class="res5">A velocidade ira aparecer aqui</div>
</section>

<section class="s6">
    <h3>nacionalidade</h3>

    <input type="text" name="txtnasc" class="txtnasc">
    <input type="button" value="verificar" onclick="nacionalidade()">
    <div class="res6">A sua nacionalidade ira aparecer aqui</div>
</section>

<section class="s7">
    <h3>sistema de votos</h3>

    <input type="number" name="numidd" class="numidd">
    <input type="button" value="verificar" onclick="voto()">
    <div class="res7">Aqui ira aparecer o seu voto</div>
</section>

<section class="s8">
    <input type="button" value="periodo do dia" onclick="periodo()">
    <h3>verificador de periodo</h3>
    <div class="res8"></div>
</section>

<section class="s9">
    <h3>verificador de dia da semana</h3>
    <input type="button" value="dia da semana" onclick="diasemana()">
    <div class="res9"></div>
</section>

<section class="s10">
    <h1>vamos contar</h1>
    <div class="dados">
    <p>Inicio: <input type="number" name="inicio" class="txti"></p>
    <p>Fim: <input type="number" name="fim" class="txtf"></p>
    <p>Passos: <input type="number" name="passos" class="txtp"></p>
    <p><input type="button" value="contar" onclick="contar()"></p>
    </div>

    <div class="res10">

    </div>

</section>

parte javascript
function clicou(){
let clicar = document.querySelector('.area')
clicar.innerText = clicou !
clicar.style.background = 'red'
}

function entrou(){
let entrar = document.querySelector('.area')
entrar.innerText = Entrou !
entrar.style.background = 'purple'
}

function saiu(){
let sair = document.querySelector('.area')
sair.innerText = Saiu !
sair.style.background = 'yellow'
}

function somar(){
let txt1 = document.querySelector('.txtn1')
let txt2 = document.querySelector('.txtn2')
let res1 = document.querySelector('.res1')

let tn1 = Number(txt1.value)
let tn2 = Number(txt2.value)

let soma = tn1+tn2

res1.innerHTML = `a soma é ${soma}`

}

function subtrair(){
let txt3 = document.querySelector('.txtn3')
let txt4 = document.querySelector('.txtn4')
let res2 = document.querySelector('.res2')

let tn3 = Number(txt3.value)
let tn4 = Number(txt4.value)

let subtraçao = tn3-tn4

res2.innerHTML = `a subtraçao é ${subtraçao}`

}

function multiplicar(){
let txt5 = document.querySelector('.txtn5')
let txt6 = document.querySelector('.txtn6')
let res3 = document.querySelector('.res3')

let tn5 = Number(txt5.value)
let tn6 = Number(txt6.value)

let multiplicaçao = tn5*tn6

res3.innerHTML = `a multiplicaçao é ${multiplicaçao}`

}

function dividir(){
let txt7 = document.querySelector('.txtn7')
let txt8 = document.querySelector('.txtn8')
let res4 = document.querySelector('.res4')

let tn7 = Number(txt7.value)
let tn8 = Number(txt8.value)

let divisao = tn7/tn8

res4.innerHTML = `a divisao é ${divisao}`

}

function velocidade(){
let txvel = document.querySelector('.txtvel')
let res5 = document.querySelector('.res5')

let vel = Number(txvel.value)

if(vel < 50){
    res5.innerHTML = `tudo correto com sua velocidade !!`
}else{
    res5.innerHTML = `[MULTADO] a sua velocidade de ${vel}km/h ultrapasou 50km/h `
}

}

function nacionalidade(){
let txnasc = document.querySelector('.txtnasc')
let res6 = document.querySelector('.res6')

let nasc = (txnasc.value)

if(nasc === 'brasil'){
    res6.innerHTML = `voce é brasileiro(a)`
}else{
    if(nasc === 'argentina'){
        res6.innerHTML = `voce é argentino(a)`    
    }else{
        if(nasc === 'equador'){
            res6.innerHTML = `voce é equatoriano(a)`
        }else{
            if(nasc === 'canadá'){
                res6.innerHTML = `voce é canadense`
            }else{
                if(nasc === 'estados unidos'){
                    res6.innerHTML = `voce é estado unidense`
                }
            }
        }
    }
}

}

function voto(){
var idade = document.querySelector('.numidd')
var res7 = document.querySelector('.res7')

var idd = Number(idade.value)

if(idd < 16){
    res7.innerHTML = `voto proibido \u{1f6ab}`
}else{
    if(idd < 18){
        res7.innerHTML = `voto opcional \u{26a0}`
    }else{
        if(idd < 65){
            res7.innerHTML = `voto obrigatorio \u{2757}`
        }else{
            res7.innerHTML = `voto opcional \u{26a0}`
        }
    }
}

}

function periodo(){
let res8 = document.querySelector('.res8')
let horadia = new Date()
let periodo = horadia.getHours()

if(horadia < 5){
    res8.innerHTML = `Boa madrugada !`
}else{
    if(horadia < 12){
        res8.innerHTML = `Bom dia !`
    }else{
        if(horadia <= 18){
            res8.innerHTML = `Boa tarde !`
        }else{
            res8.innerHTML = `Boa noite`
        }
    }
}

}

function diasemana(){

/* 
0 = domingo
1 = segunda
2 = terça
3 = quarta
4 = quinta
5 = sexta
6 = sabado
*/
let agora = new Date()
let diaSem = agora.getDay()
let res9 = document.querySelector('.res9')

switch(diaSem){
    case 0 :
        res9.innerHTML = `domingo`
        break
    
    case 1 :
        res9.innerHTML = 'segunda'
        break

    case 2 :
        res9.innerHTML = 'terça'
        break

    case 3 :
        res9.innerHTML = 'quarta'
        break

    case 4 :
        res9.innerHTML = 'quinta'
        break

    case 5 :
        res9.innerHTML = 'sexta'
        break

    case 6 :
        res9.innerHTML = 'sabado'
        break
}

}

function contar(){
let ini = document.querySelector('.txti')
let fim = document.querySelector('.txtf')
let passo = document.querySelector('.txtp')
let res10 = document.querySelector('.res10')

if(ini.value.length == 0 || fim.value.length == 0 || passo.value.length == 0){
    res10.innerHTML = 'Impossivel contar'
    window.alert('[ERROR] faltam dados')
}else{
    res10.innerHTML = `contando: <br/>`
    let i = Number(ini.value)
    let f = Number(fim.value)
    let p = Number(passo.value)
    
    if(p <= 0){
        window.alert('passo invalidado (passo considerado [1] )')
        p  = 1
    }

    if(i < f){
        for(let c = i; i < f; c+=p){
            res10.innerHTML +=`${c}`
        }
    }
}

}

nao sei direito oque aconteçeu se alguem souber poderia me ajudar por favor ?

obrigado turma !!

Higor.

Carregando publicação patrocinada...
1

Talvez se postar no StackOverflow dúvidas como esta, você consiga uma resposta mai detalhada, afinal lá é uma plataforma especializada nisso, fica a dica!

1
1

cara acabei de descobrir o porque dele bugar

a repetiçao dele esta praticamente infinita sempre que termina a contagem ele começa a contar de novo kkkkk

muito obrigado pela ajuda !!!

1
1

Bom dia, acredito que o teu problema esteja no for da função contar. Tente substituir:
for(let c = i; i < f; c+=p)
por isso:
for(let c = i; c < f; c+=p)

1
1