2017-04-15 66 views
0

我想通過按鈕和鼠標滾動縮放視圖之間實現一致的行爲。雖然我可以使用按鈕(通過調用zoom.scaleTo)指定縮放步驟(0.5),但我想知道如何在使用鼠標滾動時執行相同操作。我應該以某種方式在「縮放」事件回調中做到這一點,並嘗試修改事件轉換?或者我應該捕獲車輪事件,並嘗試手動調用d3.zoom函數?我希望鼠標滾動可以每0.5步更改一次刻度,並保持縮放的中心點爲鼠標位置。你有什麼建議什麼是實現這個目標的最好方法?如何在D3JS v4中設置縮放步驟?

回答

0
var svg = d3.select("body").append("svg") 
.attr("width", 600) 
.attr("height", 600) 
.call(zoom); 

var mainContainer = svg.append("g"); 

請的jsfiddle例如檢查我認爲你可以用這個 click here

+0

我看到你在這裏設置比例一定幫助,但並不能保證規模將改變每一步0.2卷軸上。我想要這樣的情況:我有初始位置,scale = 1。現在當我點擊按鈕放大時,我可以做到四次(每0.2)達到0.2的限制。我也一樣爲滾動。從開始位置開始,我希望能夠通過僅滾動四次進行放大。 – egellon