2014-07-27 175 views
0

我想用KineticJs,和我写的函数,而像position:absolute;right:...px的元素集团()与kineticJS,我这样做:,将组宽度取决于内容

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

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

回答

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(); 
}