Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: JavaScript: Ehtolause

heikkju2 [21.05.2020 12:59:19]

#

Tämä on vissiin taas näitä simppeleitä mokia joita itse ei tajua :)
Noissa IF lauseissa on vissiin jokin virhe koska, options ruudusta valitsemalla arvot 0-9 tulostuu aina samat kuvat eli 9 arvon mukaan.

       function key()
    {
    var key1="";
    var key2="";
    var key3="";
    var key4="";
    var key5="";
    var key6="";
    var key7="";
    var key8="";
    var key9="";
    var key10="";
    var key11="";
    var hei = parseInt(document.ags.vl.value);
    document.ags.tst.value=hei; 'Tämä tulostuu oikein (arvot 0-9)

if (hei=0)
{
key1 = "8";
key2 = "6";
key3 = "9";
key4 = "4";
key5 = "5";
key6 = "1";
key7 = "2";
key8 = "2";
key9 = "9";
key10 = "7";
key11= "2";
}

' Tässä välissä ehdot "hei" arvoille 1-8

if (hei=9)
{
key1 = "1" ;
key2 = "4";
key3 = "8";
key4 = "10";
key5 = "3";
key6 = "7";
key7 = "9";
key8 = "9";
key9 = "8";
key10 = "6";
key11= "9";
}


document.getElementById('n1').src = "images/"+key1+".jpg";
document.getElementById('n2').src = "images/"+key2+".jpg";
document.getElementById('n3').src = "images/"+key3+".jpg";
document.getElementById('n4').src = "images/"+key4+".jpg";
document.getElementById('n5').src = "images/"+key5+".jpg";
document.getElementById('n6').src = "images/"+key6+".jpg";
document.getElementById('n7').src = "images/"+key7+".jpg";
document.getElementById('n8').src = "images/"+key8+".jpg";
document.getElementById('n9').src = "images/"+key9+".jpg";
document.getElementById('n10').src = "images/"+key10+".jpg";
document.getElementById('n11').src = "images/"+key11+".jpg";
    }

Grez [21.05.2020 13:54:43]

#

if (hei=0) //Sijoitetaan 0 muuttujaan hei. Tulos on 0, joten ehdollista lohkoa ei suoriteta.
{
//Tätä ei suoriteta koskaan
}
//...

if (hei=9) //Sijoitetaan 9 muuttujaan hei. Tulos on 9, joten ehdollinen lohko suoritetaan.
{
//Tämä suoritetaan aina
}

Eli hei=0 tilalla pitäisi olla hei==0 tai hei===0 jne.

Ihmettelen kyllä myös miksi tuo koodi on tuollaista järjetöntä toistoa? Maksetaanko sinulle kirjoitetun rivimääärän mukaan tai jotain?

Tässä olisi sama toiminnallisuus vähän vähemmällä copy-pastella:

function key() {
    var hei = parseInt(document.ags.vl.value);
    document.ags.tst.value=hei; //Tämä tulostuu oikein (arvot 0-9)

    key = [
        [8,6,9,4,5,1,2,2,9,7,2],
        /* tässä välissä keyt 1-8 */
        [1,4,8,10,3,7,9,9,8,6,9]
    ][hei];

    for (var i=1;i<12;i++) {
        document.getElementById('n'+i).src = "images/"+key[i-1]+".jpg";
    }
}

heikkju2 [21.05.2020 14:21:48]

#

jotain tuollaista epäilinkin, pelkällä harrastepohjalla yritän asioita sisäistää :) mutta kiitos

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta