根据内容设置组宽度

时间:2014-07-27 12:39:11

标签: kineticjs

我想使用KineticJs,我正在使用kineticJS为元素Group()编写一个类似position:absolute;right:...px的函数,我喜欢这样:

right : function(dist){
        this.x(250-this.width()-dist);
    }

(250是容器宽度) 但是,即使我使用group.add(image),group元素的宽度也是0。 我想知道是否有一种方法可以获得组的宽度,在这种情况下,它将是组中图像的宽度。 此致

1 个答案:

答案 0 :(得分:0)

您可以根据子项的大小创建一个调整组大小的函数:

示例代码和演示:http://jsfiddle.net/m1erickson/3bz2L/

function resizeGroupToContents(group){
    var width=0;
    var height=0; 
    group.getChildren().each(function(node){
        var right=node.x()+node.width();
        if(right>width){width=right;}
        var bottom=node.y()+node.height();
        if(bottom>height){height=bottom;}
    });
    group.width(width);
    group.height(height);
    layer.draw();
}