2010-09-29 12 views
8

Im tratando de hacer una exposición simple, funciona, pero es un poco nervioso y FF parece colgar un poco. ¿Qué puedo hacer para mejorarlo?JS entre cómo mejorar?

var distance = (target - x) * dir; 

x += (distance/5) * dir; 

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

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

Respuesta

0

La aritmética de Javascript es lo suficientemente rápida para todos los navegadores. Intente reducir la cantidad de nodos DOM que actualiza por iteración.

+0

único elemento DOM es un lienzo, sin duda su conseguido una gran cantidad de píxeles presionando para hacer ... pero funciona bien - hasta que agregue lo anterior – davivid

0

No estoy muy seguro de lo que estás buscando, pero ¿tal vez?

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

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