Autor Zpráva
David Pham
Profil
Dobrý den, jak udělám aby když kliknu na start zmizelo by to tlačítko zůstalo by tam jenom stop a když kliknu na stop tak zmizí stop a objeví se start.



<!DOCTYPE html>
<html lang="en"></html>
<head>
    



</head>
    
  <div id="hlavni">
   <h3>Virtuální hrací kostka</h3>
  <div id="kostka">  
  </div>
  <div id="tlacitka">
  <input type="button" value="Start" onclick="start1()">
  <input type="button" value="Stop" onclick="stop1()">
  
  
</div>
</div>

<style>
#kostka {width:214px;height:214px;background:url("k1.png");margin: 0px auto;}


</style>

<script>
function start1() {cas=window.setInterval("akce()",200);}

function stop1()  {clearTimeout(cas);}

function akce()   { x=Math.floor((Math.random()*6)+1);                   document.getElementById("kostka").style.background="url(\"k"+x+".png\")"; }

</script>

Moderátor Davex: Titulek „Ahoj lidi, prosím vás nevěděl by si s tím někdo rady?“ nevystihoval podstatu dotazu. Příště zkus prosím vymyslet lepší.
Moderátor Davex: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
Serg
Profil
Konkrétně pro tenhle případ by bylo podlě mě nejjednodušší mít jen jedno tlačítko, a měnit mu atribut value.

<input type="button" value="Start" onclick="startStop(this)">

<script type="text/javascript">
var cas = false;

function startStop (el) 
{
    el.value = cas ? "Start" : "Stop";
    
    if (cas) {
        clearInterval(cas);
        cas = false;
    }
    else {
        cas = setInterval(akce, 200);
    }
}

function akce() { ... }
</script>
David Pham
Profil
Dobrý den, tlačítko nějak nefunguje nebo jsem to opsal špatně?

Děkuji za odpověď.

<!DOCTYPE html>
<html lang="en"></html>
<head>




</head>

<div id="hlavni">
<h3>Virtuální hrací kostka</h3>
<div id="kostka">
</div>

<input type="button" value="Start" onclick="startStop(this)">


</div>
</div>

<style>
#kostka {width:214px;height:214px;background:url("k1.png");margin: 0px auto;}


</style>

<script type="text/javascript"> var cas = false;   function startStop (el) 

{     el.value = cas ? "Start" : "Stop";          if (cas) {         clearInterval(cas);         cas = false;

}     else {         cas = setInterval(akce, 200);     } }

function akce() { x=Math.floor((Math.random()*6)+1); document.getElementById("kostka").style.background="url(\"k"+x+".png\")"; }

</script>
Serg
Profil
Je možné, že se do proměnné cas zrovna uložila 0, a ta by se v podmínce vyhodnotila také jako false. Myslel jsem že setInterval do proměnné uloží něco jako objekt časovače, ale vypadá to, že tam ukládá jen číslo. Podom by se to dalo ošetřit další proměnnou.

<script type="text/javascript">
var cas;
var spusteno = false;
 
function startStop (el) 
{
    el.value = spusteno ? "Start" : "Stop";
    
    if (spusteno) {
        clearInterval(cas);
        spusteno = false;
    }
    else {
        cas = setInterval(akce, 200);
        spusteno = true;
    }
}
 
function akce() { ... }
</script>

Je lepší tady na fóru psát kód do BB značek [ pre ] a [ /pre ], je pak vybarvený a přehlednější.
Případně, co znamená že tlačítko nefunguje? Nespustí požadovanou akci? Nebo ji nezastaví?
David Pham
Profil
Tohle taky nefunguje, tlačítko je proměňuje na textový políčko.

Nevím jak sem dává obrázek.


<!DOCTYPE html>
<html lang="en"></html>
<head>




</head>

<div id="hlavni">
<h3>Virtuální hrací kostka</h3>
<div id="kostka">
<input
</div>

type="button" value="Start" onclick="startStop(this)">


</div>
</div>

<style>
#kostka {width:214px;height:214px;background:url("k1.png");margin: 0px auto;}


</style>

<script type="text/javascript"> var cas; var spusteno = false;   function startStop (el)  {     el.value = spusteno ? "Start" : "Stop";          if (spusteno) {         clearInterval(cas);         spusteno = false;     }     else {         cas = setInterval(akce, 200);         spusteno = true;     } }   function akce() { x=Math.floor((Math.random()*6)+1); document.getElementById("kostka").style.background="url(\"k"+x+".png\")";} </script>


Máte fb?


Já bych vám tam mohl poslat screeny toho.
Kajman
Profil
Lepší bude odkaz na živou ukázku.
Serg
Profil
<div id="hlavni">
<h3>Virtuální hrací kostka</h3>
<div id="kostka">
<input
</div>

type="button" value="Start" onclick="startStop(this)">


</div>
</div>

Zvýrazněná ukončovací značka </div> unvitř <input> nemá co dělat.
Lepší editor zdrojových kódu jako Notepad++ apod. by už i barvou napověděl, že je něco špatně.

Tady je kdyžtak ukázka jak by to mohlo fungovat: Živá ukázka
Ještě jedna věc: <style> by se měl psát do <head>
David Pham
Profil
Aha... už mě jsem to pochopil, děkuji za pomoc všechno už funguje jak má.
❤️

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0