Witam, mam takie pytanie bardziej teoretyczne.
Próbuje stworzyć skrypt który najpierw sprawdza czy energii jest mniej niż maksimum i potem dodaje co 5 minut aż do osiągnięcia maksimum.
Chcę zrobić to tak żeby działało zarówno gdy użytkownik jest zalogowany(odlicza czas w js) oraz gdy jest wylogowany.
Jak mogę takie coś osiągnąć?
Zrobiłem wersje js:
function energia
(teraz
, max,i
,user
) // (aktualna energia, maksymalna energia, czas odnowienia) {
{
var minut
= Math
.floor(i
/60
); //ilosc minut var sekund
= Math
.floor(i
- minut
* 60
); // ilosc sekund
if(i > 0)
{
$("#energy_timer").text("+1 za "+dodajzera(minut)+":"+dodajzera(sekund)); // do danego diva wjebuje czas - dodajzero jest w licznik.js
i--;
setTimeout
("energia("+teraz
+","+max+","+i
+","+user
+")",1000
); console.log(i);
}
else
{
$("#energy_timer").text(""); // jak sie odliczanie skonczylo to zeruje diva
teraz++;
var request = $.ajax({ //wysyla energie do danego uzytkownika
type: 'POST',
url: 'polub.php',
data: { energy: teraz, user_sql: user } })
.done(function(data) {
$
("#energia").text
(teraz
+"/"+max); // wypisze nowe wartosci $
("#energia_progress").animate
({width
: teraz
/max*109
,},500
); // zanimuje progress bar zebys ie ladnie przesunal energia
(teraz
,max,20
,user
); // sprawdzi czy sa jeszcze jakies punkty do dodania })
.fail(function() { alert("error"); }) // jesli sie przeslanie danych nie uda zwraca blad
}
}
}
Ale działa jedynie gdy użytkownik jest zalogowany.