2010-09-29 2 views
8

Ich versuche, eine einfache Expo zu machen, es funktioniert, aber es ist ein wenig nervös und FF scheint ein wenig zu hängen. Was kann ich tun, um es zu verbessern?JS Tween wie man verbessert?

var distance = (target - x) * dir; 

x += (distance/5) * dir; 

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

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

Antwort

0

Javascript Arithmetik ist schnell genug für alle Browser. Versuchen Sie, die Anzahl der DOM-Knoten zu reduzieren, die Sie pro Iteration aktualisieren.

+0

nur dom Element ist eine Leinwand, allerdings hat seinen viel Pixel drängen zu tun ... aber es funktioniert ok - bis ich das oben hinzufügen – davivid

0

Ich bin mir nicht ganz sicher, was Sie suchen, aber das vielleicht?

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

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