2013-03-27 16 views
8

D3'ün varsayılan animasyonlarının, geri arama için zaten requestAnimationFrame'u kullanıp kullanmadığımı veya kendim yapmam gerekip gerekmediğini anlamaya çalışıyorum. Ben, yeniden çizmek için bütün diğer aramalardad3'ün geçişleri ve animasyonları requestAnimationFrame kullanıyor mu?

rd = @redraw # a function that takes an argument to redraw the graph 
@svg.transition() 
    .duration(1000) 
    .tween "zoom", -> 
     interp = d3.interpolate(current_dom, target_dom) 
     (t) -> rd interp(t) 

: Örneğin, bir grafik üzerinde bir etki alanından bir geçiş (bu CoffeeScript olan) animasyon için sürekli bir yeniden düzenleme işlevini çağıran Özel arayı tanımladıktan requestAnimationFrame ile zamanlama: burada aynı şeyi yapmak gerekiyorsa

scheduleRedraw: => 
    # Stop a previous request if it hasn't executed yet 
    cancelAnimationFrame(@animRequest) if @animRequest  
    @animRequest = requestAnimationFrame => @redraw 

Ancak, merak ediyorum. D3 kaynağına baktım ve requestAnimationFrame'a yapılan tek referansın d3 timer class'da olduğunu görüyorum.

  • tüm d3 animasyonlar ve geçişler için global olarak kullanılan d3 zamanlayıcı mı: Umarım d3 hakkında biraz daha bilgiye sahip bir kişi aşağıdaki sorulara cevap yardımcı olabiliriz?
  • requestAnimationFrame numaralı belgeyi kullanmam gerekir mi? Değilse, d3 kullanırken hiç kullanmam gereken bir durum var mı? Tarayıcınız destekliyorsa

cevap

İlgili konular