簡體   English   中英

如何在 javascript 中組合循環和 setinterval?

[英]How can I combine a loop and setinterval in javascript?

我正在做一個介紹 javascript 學校課程的作業。 我的概念是一種植物,當你給它水時它會生長,當它在 x 一段時間后沒有水時會變小。 向植物中加水使其生長有效,但我很難弄清楚如何使其在 x 時間內收縮。 有人告訴我把它放在一個循環中,然后添加 setInterval 但我是一個菜鳥,所以我真的不知道該怎么做。 此外,代碼是荷蘭語!

感謝您花時間幫助我!!

HTML

<html lang="nl">

<head>
    <meta charset="UTF-8">
    <title>Hulp of geen hulp. Dat is de vraag.</title>
    <link rel="stylesheet" href="_css/stijl.css">
</head>

<body>

    <header>
        <h1>Help aan/uit.</h1>
    </header>

    <section>
        <p>Wil je weten hoe het werkt? Klik dan op de HELP NU! button.</p>

        <button id='helpbutton1'>HELP NU!</button>

        <div class='helptekst' id='helptekst1' hidden>
            <button  class='wegkruisje' id='wegkruisje1'>X</button>
            <p>Zo dus: <br>
            Je klikt op de helpbutton voor hulp. En als je weet hoe het werkt, kan je de hulp weer wegklikken met het kruisje in de rechter bovenhoek.</p>
        </div>

    </section>


    <footer>
        <p>en onderaan staat ook iets.</p>
    </footer>

    <script src='_js/script.js'></script>
</body>

</html>

JAVASCRIPT:

console.log('Hier wordt water gegeven. ');

//afbeeldingen
var waterGieters = ['0ml.png','500ml.png', '1000ml.png', '1500ml.png', '2000ml.png'];
var plantGroei = ['plant-baby.png', 'plant-peuter.png', 'plant-kind.png', 'plant-tiener.png', 'plant-volwassen.png'];


// declaratie DOM elementen
var gieterImg = document.querySelector ('#waterGieter');
var plantenImg = document.querySelector ('#planten');
var buitenImg = document.querySelector ('#buiten');
var waterButton = document.querySelector ('#toevoegenWater');
var dagButton = document.querySelector ('#maakDag');
var nachtButton = document.querySelector ('#maakNacht');
var bodyElement = document.querySelector ('body');
var groei = 0 ; //initieel waarde van groei op 0

// Als waterButton geklikt wordt, gaat de plant groeien en watergieter met water vullen. Plaatsjes wordt aangepast per klik.

function groeiPlant() {
    console.log(groei);
    //if(groei<0) {
    //  groei = 0 ;}

    if(groei>=plantGroei.length -1) {
        waterButton.hidden = true ;}


    gieterImg.src = 'images/' + waterGieters[ groei ];
    plantenImg.src = 'images/' + plantGroei[ groei ];
}


// eventHandler functies
function geefWater() {
    groei = groei + 1 ;
    groeiPlant();
}

//Functions om naar dag of nacht te veranderen doormiddel van een button
function maakDag (event) {
    console.log('het is dag');
    buitenImg.src = 'css/dag.png';
    bodyElement.classList.remove('nacht');}

function maakNacht (event) {
    console.log('het is nacht');
    buitenImg.src = 'css/nacht.png';
    bodyElement.classList.add('nacht');}



//eventListener toevoegen aan DOM element
waterButton.addEventListener('click', geefWater);
waterButton.addEventListener('click', groeiPlant);
nachtButton.addEventListener('click', maakNacht);
dagButton.addEventListener('click', maakDag);

我希望這有幫助,你用按鈕加水

 var water = document.getElementById('boton'); var plantSize = 0; function grow(){ plantSize++; console.log(plantSize); } function small(){ plantSize--; console.log(plantSize); } const noWater = setInterval (() => { small() }, 2000); water.addEventListener('click', () => grow());
 <button id="boton"> Water!!! </button>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM