2010-09-29 21 views
8

Basit bir keşif yapmaya çalışıyorum, işe yarıyor ama biraz sarsıcı ve FF biraz takılıyor gibi görünüyor. Bunu geliştirmek için ne yapabilirim?JS ara nasıl geliştirilir?

var distance = (target - x) * dir; 

x += (distance/5) * dir; 

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

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

cevap

0

Javascript aritmetiği tüm tarayıcılar için yeterince hızlıdır. Yineleme başına güncellediğiniz DOM düğümlerinin miktarını azaltmayı deneyin.

+0

sadece dom elemanı kuşkusuz onun pikselin bir sürü var, bir tuval yapmak için bastırıyor ... ama işe yaramaz - Yukarıdakileri ekleyene kadar – davivid

0

Aradığınızı tam olarak emin değilim, ama bu belki?

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

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