0

我是 Framer 的新手,遇到了一个非常烦人的问题,我花了好几个小时试图解决。

我正在尝试构建一个语句,该语句使用通过变量传递的名称更改对象的不透明度属性sectionToLoad。我能够在控制台中完美地记录该语句,但它不会呈现。任何帮助将非常感激。

HideSection = (sectionToLoad) ->
PossibleSections = ["layerA", "layerB", "layerC", "layerD"]
for i in [0..PossibleSections.length - 1]
    if PossibleSections[i] != sectionToLoad
        console.log(PossibleSections[i])
        PossibleSections[i].opacity = 1
    else
        console.log(sectionToLoad + ".opacity = 1")
        # WHY DOESN'T THIS WORK?
        sectionToLoad.opacity = 0

HideSection("layerB")

#BUT THIS DOES SOME REASON
# layerB.opacity = 1

这是我的成帧器文件http://share.framerjs.com/9pv42mi6c99n/

4

1 回答 1

0

这里的问题是我使用的是字符串而不是对象。从字面上看,添加了不必要的引号。

layerB是对象,"layerB"是字符串。感谢上面的评论提供线索。

这是工作代码。

HideSection = (sectionToLoad) ->
PossibleSections = [layerA, layerB, layerC, layerD]
for i in [0..PossibleSections.length - 1]
    if PossibleSections[i] != sectionToLoad
        console.log(PossibleSections[i])
        PossibleSections[i].opacity = 1
    else
        console.log(sectionToLoad + ".opacity = 1")
        sectionToLoad.opacity = 0

HideSection(layerC)
于 2016-06-26T03:10:33.837 回答