width
これを行うには、 SVG でandを明示的に宣言せずheight
(いずれにせよ CSS によって上書きされます)、viewBox
属性clone
を使用してから、元のチャートのコンテンツに対してAnythingZoom を許可します。
デモ (脆弱): http://jsfiddle.net/H9psX/ http://jsfiddle.net/H9psX/38/
変更点
var svg = d3.select("#small-chart").append("svg")
// .attr("width", diameter + 300)
// .attr("height", diameter)
.attr('viewBox', "0 0 " + 225 + " " + 225);
// ...
$("#zoom3").anythingZoomer({
clone: true
});
関心事の分離
width
D3 (パック レイアウトのとを知る必要がある場所height
) を使用して SVG で描画し、クラスと絶対配置を設定してズームする jquery プラグインを使用しているため、座標 (225px
マジック ナンバー) を CSS とJS。
理想的には、マジック ナンバーを 1 か所だけに留めておきます。これを行うには、CSS でのみ値を宣言し、SVG 要素を作成した後に JS で読み取ることができます。