Autor | Zpráva | ||
---|---|---|---|
vojja01 Profil * |
#1 · Zasláno: 13. 4. 2013, 11:40:12
Dobrý den,
při deklarování funkce pro animaci (využívající knihovnu animací od Opery) jsem narazil na problém: function animation(id, css, jedna, dva, speed = 6) { var animEl[id] = document.getElementById(id); animElAnim[id] = animEl[id].createAnimation(); animElAnim[id].addAnimation(css, jedna, dva); animElAnim[id].speed = speed; animElAnim[id].run(); } Ta chyba vím co znamená, že jsem zapomněl středník (teda aspoň jsem to tak pochopil), ale z příkladu je vidět, že mi tam středník nechybí. Nemůže mi někdo vysvětlit, co ta chyba symbolizuje? Děkuji, budu rád za každou odpověď :) (živou ukázku bohužel ukázat nemůžu) |
||
Davex Profil |
#2 · Zasláno: 13. 4. 2013, 12:43:28
vojja01:
Tohle jde udělat? var animEl[id] = document.getElementById(id); |
||
vojja01 Profil * |
#3 · Zasláno: 13. 4. 2013, 12:51:00
Proč by nešlo?
Ta proměnná animEl je jen asociativní pole a index je parametr, co zadám... |
||
Camo Profil |
vojja01:
Ak chceš v JS použiť pole, musíš ho najprv definovať cez pole=new Array();
A toto ti v JS neprejde speed=6 . V JS nemôžeš zadať defaultnú hodnotu parametru.
|
||
Radek9 Profil |
#5 · Zasláno: 13. 4. 2013, 12:59:22
vojja01:
Nemůžeš ale při definování vlastnosti použít var . Prostě jen takhle:
animEl[id] = document.getElementById(id); |
||
pako Profil * |
#6 · Zasláno: 13. 4. 2013, 13:07:08
vojja01:
[#2] Davex ma pravdu, chybovu hlasku dostavas pretoze pouzivas var pri definovani vlastnosti objektu.
Camo: za tymto ucelom by sa skor mal pouzivat objekt a aj mna prekvapil ten zapis ale je to pravdepodobne v poriadku, minimalne vo ff to prejde bez chyby, treba pozriet manual co vsetko moze byt argument |
||
Camo Profil |
pako:
No FF to síce zožerie, ale tá Opera pre ktorú je to asi písané, určite nie. PS: Vám toto funguje??? animEl[id] = document.getElementById(id);
Mne teda nie. Nemám to totiž definované ako objekt/pole. |
||
pako Profil * |
#8 · Zasláno: 13. 4. 2013, 13:31:01
Camo:
mas pravdu, je to sucast navrhu ECMAScript 6 a podporuje to len ff. samozrejme ze nie, skor ma napadne ze objekt uz niekde existuje a var je navyse ako ze sa niekto snazi spravit nieco taketo ;) |
||
Davex Profil |
#9 · Zasláno: 13. 4. 2013, 13:31:47
Camo:
animEl a animElAnim by měly být globální pole definované vně funkce.
|
||
Camo Profil |
pako:
Davex: Práve z toho var je jasné, že nejde o globálnu premennú, ktorá je niekde definovaná. Alebo ešte môže ísť o bastliča domáceho, ktorý sa na tomto fóre tiež vyskytuje v hojnom počte. Samozrejme to, že tá premenná by mala byť globálna neriešim. Je to určite efektívnejšie, ako to definovať pri každom volaní... |
||
Časová prodleva: 11 let
|
0