2014-04-16 10 views
5

W najnowszym Firefoksie w systemie Windows (28.0), gdy stosowane jest zachowanie powiększania jak w przykładzie this, zdarzenie pojedynczego kółka myszy powoduje dużą zmianę powiększenia: współczynnik ~ 1.65 względem ~ 1,18 w Chrome.d3 różnica różnicy między przeglądarką Chrome i Firefox

Patrząc na kodzie źródłowym:

d3_behavior_zoomDelta = function() { 
    return -d3.event.deltaY * (d3.event.deltaMode ? 120 : 1); 
} 

chrom {deltaMode: 0, deltaY -100} -> delta = 100

Firefoksa {deltaMode: 1, deltaY: -3 } -> delta = 360

Wyjaśnia to różnicę, ale dlaczego tak się dzieje? Czy jest to problem związany z Firefox lub d3.js?

+0

Czy jest to odnotowane w repozytorium D3 github? – vsync

+0

Nie pamiętam, czy to zgłosiłem, minęło trochę czasu –

Odpowiedz

4

Uważam, że jest to problem z Firefoksem. Obejrzałem go, ograniczając zoom do 10% jego bieżącej wartości (i resetując to przy każdym powiększeniu):

var zoom = d3.behavior.zoom() 
    .on("zoom", redraw); 

function redraw() { 
    zoom.scaleExtent([zoom.scale()*0.9, zoom.scale()*1.1]); 
    ... 
} 
Powiązane problemy