selection.transition - アニメーション効果を与える

投稿日: / 更新日:

d3.jsのselection.transition()は、d3.selectionオブジェクトに含まれる要素に対して、ゆっくりと時間をかける変化(アニメーション効果)を与えるためのメソッドです。

サンプルコード

<p>ターゲット要素</p>
// p要素を選択する
d3.select( "p" )

// transitionを加える
.transition()

// 例えば、背景を赤にする
.style( "background", "red" ) ;

// 引数に指定する名前を分けることで、複数の[transition]を同時に適用できる
d3.select( "p" ).transition( "typeA" ).style( "width", "100px" ) ;
d3.select( "p" ).transition( "typeB" ).style( "height", "100px" ) ;

デモ

構文

selection = selection.transition( [name] )
引数
項目説明
name省略可。1つの要素に設定されるtransitionは排他的です。新しいtransitionが適用される際、実行中のtransitionが存在すると、それがキャンセルされてしまいます。引数で任意の名前を付けて分けることで、複数のtransitionを同時に実行させることができます。名前を設定しない場合と、名前を設定して分けた場合の違いを確認してみて下さいね。省略すると、デフォルトで空の名前が自動的に付けられ、空の名前同士で衝突してしまうわけです。
戻り値
項目説明
selectiontransitionを指定した状態のd3.selectionオブジェクトが戻り値となる。

ノート

排他的
1つの要素に、同じ名前のtransitionは1つしか存在できず、新しいtransitionは実行中の古いtransitionを止めてしまう。複数のtransitionを適用するには、引数で別々の名前を指定すること。