按名称定位图层后,查找该图层的索引#



我知道层名称只能作为对象访问。但是,有没有一种方法可以使用该对象名称来查找数组中的索引位置?换句话说,我在一个文件中有多个层。我想找到一个特定的层,锁定并更改它上面所有层的可见性,解锁并更改它下面所有层的可视性。我会一直在寻找同一层,但总层数会随着作业的不同而变化。任何帮助都将不胜感激!

只需遍历所有层,并检查每个层是否与您的名称匹配。。如果它确实保存了索引(循环的当前计数)。

// get index (from top layer down) of named layer... expects only one layer  with this name
// name of layer you are looking for
var targetLayerName = 'name'  
var targetDocument = app.activeDocument;
var layerCount = targetDocument.layers.length;
var namedLayerIndex = 0;
// loop through layers and find the named layer
for ( i = 0; i < layerCount; i++ ) {
    if (targetDocument.layers[i].name == targetLayerName) {
        namedLayerIndex = i;
    }
}

最新更新