21. září bude sraz! Od 18.00 v restauraci Tradice v Praze u Anděla
Autor Zpráva
sloncz
Profil
Zdravím, napsal jsem si js na automatickou změnu pozadí po 1 sekundě, to funguje jak má.
Měnit to pozadí začne ihned po načtení stránky a pomocí funkce stop(); můžu celé měnění zastavit. To taky funguje jak má.
Problém nastává, když potřebuji, aby se měnit pozadí začalo až po kliknutí na div. Napadá někoho z Vás prosím nějaké řešení? Děkuji mnohokrát

<div onclick="start();" class="zmena">START</div>
<div onclick="stop();" class="zmena">STOP</div>

<script>

function stop() {
    clearInterval(stopka);
}

var stopka = setInterval(function(){ zmena() }, 1000);

function zmena(){

    var letters = '0123456789ABCDEF'.split('');
    var color = '#';
    for (var i = 0; i < 6; i++ ) {
        color += letters[Math.floor(Math.random() * 16)];
    }
    document.body.style.background = color;

}
</script>
Kubo2
Profil
sloncz:
Jednoducho:

var stopka;

function start() {
  if(!stopka)
    stopka = window.setInterval(zmena, 1000);
}

function stop() {
  window.clearInterval(stopka);
  stopka = null;
}

// function zmena() { ...

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0