Cześć. Szukam i szukam i nie mogę znaleźć. Da się jakoś wyciągnąć aktualny wynik z funkcji? Mam coś takiego:
<div id="odlicz"></div>
onload=odlicz(-1);
function odlicz(x)
{
x++;
var iks = (document.getElementById('odlicz').innerHTML = x);
setTimeout("odlicz(" + x + ")",1000);
};
Funkcja powoduje naliczanie od 0 do nieskończoności. W divie wyświetla sie wynik. Chciałbym stworzyć do tego pewne modyfikacje ale nie potrafię znależć rozwiązania.
Mianowicie chciałbym stworzyć pewnego if'a, który będzie coś robił po tym jak funkcja osiągnie np. 20. Dodatkowo chciałbym stworzyć button, który będzie modyfikował aktualny wynik, tj. np. po naciśnięciu przycisku wartość zwiększy się o 20 albo nadal będzie odliczało zgodnie z ustaloną zasadą.
Jest 25, przyciskam przycisk, robi się 45, ale nadal co sekunda zwiększa się o 1. Nie potrafię się dostać do aktualnej wartości z funkcji. Wiem, że za to odpowiadają closures, ale te rozwiązania widziałem tylko dla statycznych wartości, nie zmieniających się w czasie.
Próbowałem z returnem, ale nadal nie mogę zwrócić aktualnej wartości.
Zna ktoś rozwiązanie?