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を同時に実行させることができます。名前を設定しない場合と、名前を設定して分けた場合の違いを確認してみて下さいね。省略すると、デフォルトで空の名前が自動的に付けられ、空の名前同士で衝突してしまうわけです。 |
項目 | 説明 |
---|---|
selection | transitionを指定した状態のd3.selectionオブジェクトが戻り値となる。 |
ノート
- 排他的
- 1つの要素に、同じ名前のtransitionは1つしか存在できず、新しいtransitionは実行中の古いtransitionを止めてしまう。複数のtransitionを適用するには、引数で別々の名前を指定すること。