zoom.scale - ズーム操作におけるscaleの値を取得、変更する

投稿日: / 更新日:

d3.jsのzoom.scaleは、現在のズーム操作におけるscaleの値を取得、変更するためのプロパティです。値はX方向、Y方向、2つの値を持った配列リテラルとなります。

サンプルコード

<img src="/image.png">
// ズーム操作のインスタンスを作成
var zoom = d3.behavior.zoom() ;

// ズーム操作に対応するイベントリスナーを指定する
zoom.on( "zoom", function() {
	// 処理内容
} ) ;

// img要素に対して、call()メソッドでズーム操作を適用
d3.select( "img" ).call( zoom ) ;

// scaleの値を取得
var scale = zoom.scale() ;

// scaleの値を変更
zoom.scale( 1 ) ;

デモ

下のボタンを押すと、zoom.scaleを使って、scaleの値を取得したり、変更します。取得するscale値は別途、小数点以下を切り捨てています。

構文

scale || instance = zoom.scale( [ scale ] )

引数

項目説明
scale省略可。省略した場合は値の変更ではなく、値の取得となる。引数に数値を指定すると、ズーム操作のscaleの値を変更する。この変更は、対象要素を変更するものではなく、ズーム操作のインスタンス内で管理する、scaleの値を変更するだけなのでご注意下さい。

戻り値

項目説明
scale引数を指定しなかった場合、scaleの値(数値)が戻り値となる。
instance引数を指定して、scaleの値に変更を加えた場合、ズーム操作のインスタンスが戻り値となる。