Autor | Zpráva | ||
---|---|---|---|
Kryvosa Profil * |
#1 · Zasláno: 5. 5. 2015, 16:57:17
Ahoj lidi, mám jednoduchý problém: Pořebuji jakousi animaci. Vím, že
requestAnimationFrame() je na animace nejlepší, ale přeskakuje v zájmu plynulosti některá políčka, díky čemuž se má animace následně rozpadá. Proto mám jednoduchou funkci:
function animation(Y) { if(Y==31)Y=0;else Y++; setTimeout(function(){animation(Y)},0); //nějaké vykreslování..... } |
||
_es Profil |
Nie je ti dosť rozumieť, na čo sa pýtaš. Ako by mala volať „samu seba“. Veď aj tá vnorená funkcia volá „samu seba“, tak daj to „zařizováni X“ do nej.
„setTimeout(function(){animation(Y)},0);“ Čo je to za divnú animáciu, ktorá na rôznych strojoch pobeží rôzne rýchlo? To je skoro to isté, ako keby si tam mal len animation(Y); . Vyskúšaj si to na niečom oveľa menej výkonnejšom, aj v rôznych prehliadačoch.
|
||
Joker Profil |
#3 · Zasláno: 6. 5. 2015, 11:45:34
Kryvosa:
Udělejte z anonymní funkce neanonymní a může se volat jak je libo. Smysl volání setTimeout s nulovým timeoutem taky moc nechápu. Nejenže rychlost bude závislá na počítači a na prohlížeči, ale i jednotlivá volání funkce animation budou mít mezi sebou různé rozestupy. Navíc při uvedeném pořadí se může stát, že se další volání začne vykreslovat ještě během vykreslování předchozího volání. |
||
Časová prodleva: 6 dní
|
|||
Kryvosa Profil * |
#4 · Zasláno: 12. 5. 2015, 09:41:54
Mám totiž mapu řekněme 10x10 políček, a každé se animuje zvlášť, a tento kamarádský prasácký program je všechny projíždí a animuje...
Jinak, už jsem to vyřešil bez zbytečných animací... Stejně mne ale zajímá, jestli můžu nějak zavolat anonymní funkci uvnitř té funkce... |
||
_es Profil |
#5 · Zasláno: 12. 5. 2015, 09:51:29
Kryvosa:
„Stejně mne ale zajímá, jestli můžu nějak zavolat anonymní funkci uvnitř té funkce...“ Stačí dať tej anonymnej funkcii názov: jQuery AJAX - zabránění odeslání formuláře |
||
Časová prodleva: 9 let
|
0