2010-09-29 7 views
8

Sto cercando di realizzare un'interpolazione semplice, funziona, ma è un po 'nervosa e FF sembra bloccarsi un po'. Cosa posso fare per migliorarlo?JS tween come migliorare?

var distance = (target - x) * dir; 

x += (distance/5) * dir; 

if (dir == 1 && x >= target-1) { 
    return; 
    } 

if (dir == -1 && x <= target+1) { 
    return; 
    } 

risposta

0

L'aritmetica di Javascript è abbastanza veloce per tutti i browser. Prova a ridurre la quantità di nodi DOM che aggiorni per iterazione.

+0

unico elemento DOM è una tela, certamente la sua ha un sacco di pixel spingendo a fare ... ma funziona bene - fino a quando aggiungo quanto sopra – davivid

0

Non sono sicuro di cosa stai cercando, ma forse?

x += (target - x)*dir*dir/5; 

if (Math.abs(dir) == 1 && dir*(x-target) <= 1) 
    return; 
Problemi correlati