有一点点javascript的问题。 Pixate是UI设计工具,允许您在JS中构建自定义操作。我试图用几行代码构建一个小的JS动作,但显然我正在监督明显的事情(对不起,我不是一个真正的编码器)。到目前为止,这是我的脚本:
var layers = getSelectedLayers();
var erg = "";
for (var elem in layers) {
erg += layers[elem] + ", ";
}
alert(erg);
var group = createLayer("MyGroup");
group.y = group.x = 0;
group.width = Screen.width;;
group.height = Screen.height;;
group.backgroundColor = 'transparent';
nestLayers(group, erg);
命令" getSelectedLayers" " createLayers" ans" nestLayers"由Pixate提供。如果我尝试运行我的代码,那么" getSelectedLayers"似乎工作(警报功能返回所选图层的数组)。创建新图层也有效。问题是,在启动" nestLayers"函数,在嵌套第一个选定的图层后,脚本在我的最后一行停止并出现错误" undefined不是函数" ...
非常感谢任何帮助 - 谢谢!
答案 0 :(得分:0)
您的nestLayers
调用存在两个问题:它期望所有图层都作为参数(不是数组),并且您传递的是字符串数组,而不是图层对象(请参阅此处的文档:{{3 }})。
正确的操作应如下所示:
var layers = getSelectedLayers();
var group = createLayer("MyGroup");
group.y = group.x = 0;
group.width = Screen.width;
group.height = Screen.height;
group.backgroundColor = 'transparent';
nestLayers.apply(this, [].concat(group, layers));
apply
使用提供的数组作为参数调用函数(http://www.pixate.com/docs/actions/#nestlayer),我只是将组图层和其余图层连接成一个数组。