| | |
| Stránka: 1 z 1
| [ Príspevkov: 3 ] | |
Autor | Správa |
---|
Registrovaný: 21.10.08 Prihlásený: 18.12.19 Príspevky: 198 Témy: 74 Bydlisko: Nitra | Napísal KViki: 25.04.2012 15:10 | |
|
Mam problem s timto scriptom. Ak ostane browser s timto scriptom otvoreny dlhsi cas, tak sa miesto vyhradene pre browser v operacnej pameti neustale zvacsuje. V istej chvili je to pre OS neunosne.
Vedel by to niekto optimalizovat ?
js.js
Kód: function setNewTime() {
setNewTimeHandle(1,'cyklus'); setNewTimeHandle(1,'zmena'); t1=setTimeout("setNewTime()",1000); }
function setNewTimeHandle(box_id,handle) { var stop_bool = 0; while(stop_bool == 0) { var selector_box_sec = handle+'_sec_'+box_id; var selector_box_min = handle+'_min_'+box_id; if(document.getElementById(selector_box_sec)) { var newSec = parseInt(document.getElementById(selector_box_sec).innerHTML, 10)+1; var newMin = parseInt(document.getElementById(selector_box_min).innerHTML, 10); if (newSec == 60) { newMin = newMin+1; newSec = 0; } document.getElementById(selector_box_sec).innerHTML = newSec ; document.getElementById(selector_box_min).innerHTML = newMin ; box_id = box_id + 1; } else {stop_bool = 1;} } } layout.html Kód: <script> setNewTime(); </script> <div> <span id="cyklus_min_1">2</span> min <span id="cyklus_sec_1">15</span> sec </div> <div> <span id="zmena_min_1">1</span> min <span id="zmena_sec_1">2</span> sec </div>
|
|
Registrovaný: 29.10.07 Prihlásený: 27.10.23 Príspevky: 1395 Témy: 30 Bydlisko: Bratislava |
Neviem neviem... ak to maju by thodiny, su robene zvlastne
1. preratas cas v elementoch "cyklus"
2. preratas cas v elementoch "zmena"
3. cakas 1 sekundu a spustis to cele znova
Mozno lepsie ako setTimeout bude pouzit setInterval. Obnovovanie casu bude pravidelnejsie.
Ohladom optimalizacie:
1. Je zbytocne kazdu sekndu nutit browser prehladavat cely dokument a hladat tam elemenry (pokaze volas getElemebtById). Uplne ti staci to spravit raz a najdeny objekt ulozit do premennej.
Zivu ukazku nemas? Nevidim nic co by malo pamat stale plnit. Robia to vsetky prehliadace alebo iba jeden? Ktory pouzivas?
_________________ PC: OS: Windows 11 (64bit) CPU: AMD Ryzen 5 3600 GPU: ASUS TUF RTX3060Ti 8GB RAM: 16GB DDR4-3200MHz Kingston Fury MB: ASUS TUF Gaming B550M WIFI SSD: 1000GB PCIe M.2 NVME Mobil: Xiaomi POCO F2 PRO |
|
Registrovaný: 21.10.08 Prihlásený: 18.12.19 Príspevky: 198 Témy: 74 Bydlisko: Nitra | Napísal autor témy KViki: 25.04.2012 17:34 | |
|
S tim setTimeout mas pravdu. Zmenil som to na setInterval.
Neni su ti priamo hodiny, ide o zobrazenie casu ubehnuteho casu.
Volat to pravdepodobne musim, pretoze je mozne ze pribudne dalsi odpocet pocas zobrazenia. Uvidim cez noc ako sa to bude chovat ked to budem mat otvorene niekolko hodin.
Ale dik.
Robia to vsetky, ale ten najproblemovejsi bola Mozzila
|
|
| Stránka: 1 z 1
| [ Príspevkov: 3 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|