小编Dha*_*ane的帖子

d3js拖动圆圈应重新排列主边界圆中的其他圆圈

我有基于本教程的气泡图.

我已使用以下代码启用了拖动气泡.这使得各个圆圈可以拖动,但拖动圆圈时其他圆圈不会自动调整.我正在使用包循环算法,请让我知道这个算法可能.

这是我的拖动代码:

// draggable
if(this.dragging){
    var drag = d3.behavior.drag()
    .on("drag", function( d, i) {
        var selection = d3.selectAll( '.selected');

        if( selection[0].indexOf( this)==-1) {
            selection.classed( "selected", false);
            selection = d3.select( this);
            selection.classed( "selected", true);
        } 

        selection.attr("transform", function( d, i) {
            d.x += d3.event.dx;
            d.y += d3.event.dy;
            return "translate(" + [ d.x,d.y ] + ")"
        })
        // reappend dragged element as last 
        // so that its stays on top 
        this.parentNode.appendChild( this);
        d3.event.sourceEvent.stopPropagation();
    });
    node.call( drag);
}
Run Code Online (Sandbox Code Playgroud)

javascript svg drag d3.js circle-pack

10
推荐指数
1
解决办法
1603
查看次数

如何通过箭头函数分配数组元素的值

我需要使用箭头函数设置数组属性之一。在我的示例代码中,我添加了随机键和箭头函数。但是当我控制台输出时,我看不到“随机”键。这可以使用箭头函数来完成。

let Allitems = {"items":[{"id":74489},{"id":64489},{"id":53489}]};

const newarr = Allitems.items.map(e => ({...e, name:"newnamme", random: (e) => { return e.id + "random"; } }));
 console.log(newarr);
Run Code Online (Sandbox Code Playgroud)

// expected output
{"items":[ 
{"id":74489,name:"newnamme", random : "74489random"},
{"id":64489,name:"newnamme", random : "64489random"},
{"id":53489,name:"newnamme", random : "53489random"}]
}
Run Code Online (Sandbox Code Playgroud)

javascript arrays function arrow-functions object-destructuring

-1
推荐指数
1
解决办法
66
查看次数