Posts
163
Comments
179
Trackbacks
5
[jQuery] - Bug sulle funzioni di animazione

Utilizzando l'ultima versione di jQuery (la 1.2.3) e provando i miei soliti script js mi è saltato fuori il seguente bug:

jQuery.easing[this.options.easing || (jQuery.easing.swing ? "swing" : "linear")] is not a function

Come spiegato in questo ticket si tratta di un bug di associato ad alcune funzioni di animazione che viene fuori nel caso in cui si utilizzino delle funzioni di callback. Nel mio caso sto utilizzando la fadeIn e la fadeOut.
Andando a sbirciare nel codice di jQuery si nota questo:

fadeOut: function(speed, callback){ return this.animate({opacity: "hide"}, speed, callback); }, fadeTo: function(speed,to,callback){ return this.animate({opacity: to}, speed, callback); }, animate: function( prop, speed, easing, callback ) { .... ....

Come si può vedere le funzioni fateOut e fadeTo (ma anche altre) richiamano la animate passando tre parametri su quattro. L'easing non viene mai passato. Questo non causa errori fino a che non viene passato il callback, che infatti viene preso come terzo parametro al posto dell'easing.

In attesa della correzione ufficiale, possiamo correggere il problema in vari modi: intervenendo direttamente sullo script di jQuery (a mio parere sconsigliato), oppure sosituendo le chiamate alle funzioni di animazione con la chiamata diretta alla animate, oppure ridefinendo le funzioni di animazione utilizzate in modo da correggere il bug.

Technorati Tags:


posted on mercoledì 27 febbraio 2008 12:03 Print
Comments have been closed on this topic.
News
Se volete sapere con chi avete a che fare eccomi qui in uno "scatto" lavorativo.

La mia foto

Logo MCAD
Logo MCTS