亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

保持在形狀 D3 內拖動 - ReactJS

保持在形狀 D3 內拖動 - ReactJS

鴻蒙傳說 2021-10-14 17:36:19
我正在嘗試使用可拖動形狀d3并通過專門關注此鏈接以及其他一些鏈接,我能夠得到這樣的東西;    var svg = d3.select("svg"),        width = +svg.attr("width"),        height = +svg.attr("height"),        radius = 32;    var circles = d3.range(20).map(function() {      return {        x: Math.round(Math.random() * (width - radius * 2) + radius),        y: Math.round(Math.random() * (height - radius * 2) + radius)      };    });    var color = d3.scaleOrdinal()        .range(d3.schemeCategory20);            var circleGroup = svg.selectAll('g')      .data(circles)      .enter().append('g')      .attr('transform',function(d) { return 'translate('+d.x+','+d.y+')'; })        .call(d3.drag()            .on("start", dragstarted)            .on("drag", dragged)            .on("end", dragended));    circleGroup.append("circle")        .attr("r", radius)        .style("fill", function(d, i) { return color(i); })    circleGroup.append("text")       .text(function(d,i) { return i; })       .style('text-anchor','middle')       .attr('y',4);    function dragstarted(d) {      d3.select(this).raise().classed("active", true);    }    function dragged(d) {      d3.select(this).attr("transform","translate("+(d.x = d3.event.x)+','+(d.y = d3.event.y)+')' );    }    function dragended(d) {      d3.select(this).classed("active", false);    }.svgClass{border:2px solid red;} <script src="https://cdnjs.cloudflare.com/ajax/libs/d3/4.5.0/d3.min.js"></script>    <svg width="500" height="300" class="svgClass"></svg>但是現在我想保持這種拖動在svg邊界內,但不知道我該怎么做??誰能幫我解決這個問題??
查看完整描述

1 回答

  • 1 回答
  • 0 關注
  • 216 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號