で使用dragdealer JS
していD3.js
ます。私がやっていることは、あなたが作っdragdealer JS
た要素によって作られたスライダーをドラッグするD3.js
と、絵のスライダーのように動くということです。
ここに私が書いたコードがあります: code .
このコードには 2 つの問題があります。
1) このコードは FireFox では機能しますが、Chrome & IE 10 では機能しませんか?
2) 1 つのスライドで、1 つのタイルのみがビューに移動し、1 つだけが移動するようにスライダーを構成する方法は?
タイルまたは長方形の数は固定されていません。ユーザーに応じて、任意の数のタイルが存在する可能性があります。
コード:
var width = 4000,
height = 200,
margin = 2,
nRect = 20,
rectWidth = (width - (nRect - 1) * margin) / nRect,
svg = d3.select('#chart').append('svg')
.attr('width', width);
var data = d3.range(nRect),
posScale = d3.scale.linear()
.domain(d3.extent(data))
.range([0, width - rectWidth]);
console.log(rectWidth)
svg.selectAll('rect')
.data(data)
.enter()
.append('rect')
.attr('x', posScale)
.attr('width', rectWidth)
.attr('height', height);
function redraw(x)
{
svg.transition()
.ease("linear")
.attr("transform", "translate(" + -(x*rectWidth) + ")" );
console.log(-(x*rectWidth));
}
var step = nRect/2;
new Dragdealer('magnifier',
{
steps: step,
snap: true,
animationCallback: function(x, y)
{ console.log(x*10)
redraw(x*step);
}
});
steps
タイルの数に応じて の値が変わるように工夫しようとしています。
私を助けてください。