Posts
98
Comments
152
Trackbacks
6
[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 10.03 Print
Comments
No comments posted yet.

Post Comment

Title *
Name *
Email
Url
Comment *  
Please add 6 and 3 and type the answer here:
News
Se volete sapere con chi avete a che fare eccomi qui in uno "scatto" lavorativo.
La mia foto

Logo MCAD
Logo MCTS

Visite dal 16/03/2007:

Il mio stato su Messanger: