我有一個D3 force layout網絡,帶有標記鏈接,如this one。我已經擴展了它,所以現有的鏈接標籤具有淡出效果。標籤的退出代碼如下所示:D3中的中斷退出轉換
$linkLabel.exit()
.classed('fadeout', true)
.transition()
.delay(250)
.remove();
現在有可能爲一個標籤,重新進入佈局,同時仍褪色/退出(當快速連續鼠標懸停和鼠標移開事件在同一節點上發生例如)。會發生什麼情況是因爲事件流程類似於exit()
- >transition()
- >delay()
- >enter()
- >remove()
,因此無論如何都會移除相應的標籤。
我需要做的是中斷標籤的轉換,重新進入佈局,因此remove()
函數不會被調用。你知道如何做到這一點?
您是否有完全去除元素的替代方案? (不清楚你的標籤是SVG還是HTML,但是,如果它們是HTML,那麼將'display'屬性設置爲'none'如何?) –
添加到元素的轉換應該自動取消較早的轉換。你能提供一個完整的例子嗎? –
它基本上是我已經鏈接的[示例](http://bl.ocks.org/mzur/b30b932d1b9544644abd)。這是一個工作[小提琴](http://jsfiddle.net/Azy6E/1/)。 – Mouagip