Javascript érték növelés bizonyos időközönként
Sziasztok!
Hát az előre leszögezném, hogy JS-ből tök kuka vagyok :)
Az lenne a kérdés, hogy valaki tud-e olyan kész és jól működő js kódot, ami bizonyos időközönként növel 1 változót. Valami ilyesmire gondolok a gyakorlatban:
Ha van egy i változóm aminek a kezdő értéke 100 és tudom hogy 0,23-al kell növelnem másodpercenként akkor percenként növeli 14-el az i-t (0,23*60= 13,8 azaz kerekíti is de a maradékot nem felejti el hanem azzal kezdi a következő percet, jelen esetben mínusz 0,2-vel). A kezdő értéket és a növelés értékét PHP-ból kapja. És persze nem kell megemlítenem, hogy mindezt oldal töltés nélkül kellene művelje (pl.: cooldown ott is csak megy lefele az idő és nem tölt újra.)
Nagyon nagy segítség lenne ha valaki tudna ilyet! Nagyon köszönöm!
■ Hát az előre leszögezném, hogy JS-ből tök kuka vagyok :)
Az lenne a kérdés, hogy valaki tud-e olyan kész és jól működő js kódot, ami bizonyos időközönként növel 1 változót. Valami ilyesmire gondolok a gyakorlatban:
Ha van egy i változóm aminek a kezdő értéke 100 és tudom hogy 0,23-al kell növelnem másodpercenként akkor percenként növeli 14-el az i-t (0,23*60= 13,8 azaz kerekíti is de a maradékot nem felejti el hanem azzal kezdi a következő percet, jelen esetben mínusz 0,2-vel). A kezdő értéket és a növelés értékét PHP-ból kapja. És persze nem kell megemlítenem, hogy mindezt oldal töltés nélkül kellene művelje (pl.: cooldown ott is csak megy lefele az idő és nem tölt újra.)
Nagyon nagy segítség lenne ha valaki tudna ilyet! Nagyon köszönöm!
Igen, mindenki tud
...
És akarsz ezen változtatni?
Ha nem, akkor a feladatot a "munka és állás" rovatban kéne meghirdetned.
Ha igen, akkor ennek örülök és szívesen segítek.
Meddig jutottál? Mivel próbálkoztál?
A PHP rész megvan, csak a JS-sel van gond?
Szia!Köszönöm, hogy
Köszönöm, hogy segítesz :)
Hna most ezzel az a gond, hogy össze is adja meg ki is dobja alert-be, de mindig ugyanazt, azaz nem az előző összegéhez hozzáadott új összeget.
Igen megvan PHP-vel nincs gond :)
Megjegyzések és példa
myadder()
-ben nem deklarálod (var
kulcsszó hiánya) ac
változót, így globális változóval fog operálni, amit nem biztos, hogy szeretnélc
változóban igen (de mint fentebb írtam, nem jó gyakorlat), viszont mindig felülírod ugyanazzal-, csak használod anovelendo
ésmennyivel
változókat (így még szép, hogy mindig ugyanazt látod)parseInt()
-et használsz (ami csonkol, nem kerekít), holott van csodás kerekítő függvény is (Math.round()
)setInterval()
esetleges pontatlanságát, ami hosszú futásidő esetén egyre észrevehetőbb leszMegírtam egy kis példakódot kicsit más "nevezéktannal", de érthetőnek kell lennie:
Köszönöm
document.getElementById('roundedValue').textContent = displayValue;
document.getElementById('actualValue').textContent = myValue;
Mert igazából az lenne a funkciója, hogyha újratöltődik az oldal vagy frissül vagy hasonló akkor az aktuális értéket adatbázisba el akarom tárolni, azaz mindig folytatódna a számolás.
Köszönöm az eddigieket nagyon!
Szükséges szerver oldalon az
A kódban, amit írtam, pedig simán kiveszed a 44. sort, és akkor kezdésnek
myValue
értéke az alapérték, az 5. sorban pediglastUpdate
értékét -ahogy írtam- beállítod PHP-ból az indulási időre UTC milliszekundumokban.Tehát a kezdő értékadás ilyesmi lesz (tegyük fel, hogy
$startTime
-ban található az indulási idő, UTC-ben,DateTime
objektumként):Elérhetőség
Ha nem probléma kérhetnék egy elérhetőséget (skype, face, stb..), mert lenne még 1-2 kérdésem, és meg szeretném érteni teljesen ezt a dolgot.
Köszönöm
Weblabor :)
Rendben
Akkor kezdeném is :) Változtattam ezt-azt a programon, pl hogy meddig számolhat el maximum és utána mit tegyen ha elérte stb.. de még egy olyan kérdésem lehetnem, hogy azt lehet figyelni js-el hogy ha újra akar töltődni az oldal akkor felölti a jelen állás db-be? Ha igen akkor az hogy lenne? A másik az lenne hogyha egyszerre több ilyen számolás is lenne egyszerre különböző adatokkal (azaz indulási- és növelési értékkel) az hogy valósulna meg?
Nagyon sokat segítesz remélem valahogy meg tudom majd hálálni :)
Köszönöm!
azt lehet figyelni js-el hogy
Nem, nem tudod figyelni, hogy újra akarna-e töltődni az oldal. Azt tudod nézni, hogy az illető el akar navigálni az oldalról, és ekkor egy figyelmeztetést dobhatsz föl neki, de mást nem tehetsz (
onbeforeunload
), azaz ekkor már késő adatbáziba menteni, hamarabb kell. Azaz amikor változást végzett a felhasználó, akkor küldesz egy kérést a PHP felé. De ez a kérés lehet, hogy csak hosszú másodpercek alatt ér el csak a szerverhez.A másik az lenne hogyha
Függvény
Írd be egy keresőbe: