2
我在Google Map旁邊使用D3圖形。我希望圖形在地圖縮放變化時進行轉換。如果縮放比轉換完成更新沒有變化得更快,它就可以正常工作。但是,連續兩次單擊縮放會導致轉換失敗。D3.js:直到前一個完成纔開始新的轉換?
如何在上一次轉換完成之前停止下一次轉換?
這是我的代碼(這是一個主幹應用程序):
render: function() {
this.renderMap();
},
renderMap: function() {
var that = this;
...
google.maps.event.addListener(that.mapControl, 'zoom_changed', function() {
that.change();
});
},
change: function() {
var that = this;
d3.transition().duration(750).each(function() {
that.redraw();
});
},
redraw: function() {
...
this.redraw = function() {
...
var barUpdate = d3.transition(bar).attr("transform", function(d) {
return "translate(0," + (d.y0 = y(d.State)) + ")";
}).style("fill-opacity", 1);
};
}
我喜歡這個想法。我有大約20個事件需要作爲「光標」掃過圖表掃描。我會給它一個鏡頭並檢查出來。 – 2014-05-19 21:17:28
每個人都應該記住文檔中的這個重要注意事項:'請注意,如果轉換被給定元素上稍後計劃的轉換所取代,則不會爲該元素分派結束事件;中斷的轉換不會觸發結束事件。「 – JLewkovich 2014-11-14 03:39:27