Szukałem wokół przepełnienia stosu i wszystkie z nich wyjaśniają tylko, jak onclick zrobiłby coś innego po raz drugi - ale chcę, żeby mój kod zrobił też coś innego raz. Oto część aktualnego JavaScript:

function one()
{
var newButton1 = '<button id="btnTwo" onclick="two();stickAmount();" >Pick up stick</button>'; var newButton2 = '<button id="btnThree" onclick="three()">Leave it there</button>';
document.getElementById("a").innerHTML="You feel something on the ground, and you think it's a stick."+newButton1+newButton2;

var myButton = document.getElementById('btnOne');
myButton.onclick = four;
}

Domyślam się, że powinienem zrobić coś w rodzaju kodu przycisku samochodu w pobliżu dna, ale jeśli spróbuję, że robi to tylko trzecią działanie i pomija drugi.

0
zkatx 2 grudzień 2013, 03:10

3 odpowiedzi

Najlepsza odpowiedź

Licznik nie jest tym, czego potrzebowałem -

Okazuje się, że zacząłem robić właściwą rzecz, ale zmienna Mybutton nie miała pojawić się dwa razy w tej samej funkcji, musiałem dodać zmienną MyButton, aby funkcjonować cztery.

0
zkatx 2 grudzień 2013, 02:15

Dlaczego nie używać zmiennej statycznej w swojej funkcji?

1
ItayB 1 grudzień 2013, 23:20

Możesz dołączyć licznik do przycisku:

Html:

<button id="btnOne" data-counter="0" onclick="one();" >Do It</button>

JavaScript:

var myButton = document.getElementById('btnOne');

function one() {
    var counter=parseInt(myButton.getAttribute("data-counter"),10);
    counter++;
    myButton.setAttribute("data-counter",counter);
    // do something based on the value of counter
}
0
Christophe 1 grudzień 2013, 23:53