我是Framer的新手,并且我花了几个小时试图解决这个问题。
我正在尝试构建一个语句,该语句使用通过变量sectionToLoad
传递的名称来更改对象的opacity属性。我能够在控制台中完美地记录语句,但它不会呈现。任何帮助将不胜感激。
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
答案 0 :(得分: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)