1
私が持っているものは、SVG(約300px)の中のドラッグ可能なラインです。私の目的は、SVGの外に出ないように行の移動距離を制限することです。私はd3を使用することに約1時間ですので、どんな助けもありがとうございます。D3限定ドラッグ
私はいくつかのif文を先に使ってみましたが、どれもうまくいきませんでした。ここに私のコードです:
var svg = document.getElementById("probabilityDensitySVG");
var drag = d3.behavior.drag()
.on('dragstart', null)
.on('drag', function(d){
var dx = d3.event.dx;
var dy = d3.event.dy;
var x1New = parseFloat(d3.select(this).attr('x1'))+ dx;
var y1New = parseFloat(d3.select(this).attr('y1'));
var x2New = parseFloat(d3.select(this).attr('x2'))+ dx;
var y2New = parseFloat(d3.select(this).attr('y2'));
line.attr("x1",x1New)
.attr("y1",y1New)
.attr("x2",x2New)
.attr("y2",y2New);
}).on('dragend', function(){
});
var line = d3.select(svg)
.append("line")
.attr("x1",100)
.attr("y1",143)
.attr("x2",100)
.attr("y2",370)
.attr("stroke-width",5)
.attr("stroke","black")
.call(drag);
ありがとうございました!これはまさに私が探していたものです。構文の例はとても役に立ちます。 – allegro
@allegroあなたが別の質問を投稿したことを知っています。あなたはとても新しいので、ここにヒントがあります:有用な答えを認めない限り、人々はあなたからの質問に答えることをやめます。 )。 –
ご報告いただきありがとうございます!私がSOに戻ってから、しばらくしてきました。 – allegro