ナビゲーション メニューに通常のホバー効果を作成したいとしますが、CSS の代わりに D3 トランジションを使用して効果を「柔らかく」します。これは、mouseover
および-method を使用すると正常に機能します。ただし、問題は、遷移が完了する前にマウスがホバーされたリンクから離れると、遷移が停止することです。その副作用をどのように回避しますか?mouseout
.on
たとえば、次のコードでは、マウスが他の場所に移動した後でも、移動が速すぎると下の境界線がオレンジ色で表示されます。
d3.selectAll("a")
.on("mouseover", function() {
d3.select(this)
.style("border-bottom-color", "#fff")
.transition()
.duration(1000)
.style("border-bottom-color", "#B23600"); })
.on("mouseout", function() {
d3.select(this)
.style("border-bottom-color", "#fff"); });