0

私は Framer を初めて使用し、解決しようと何時間も費やした非常に厄介な問題を抱えています。

variable を介して渡された名前を持つオブジェクトの opacity プロパティを変更するステートメントを作成しようとしています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 に答える