2016-06-25 6 views
0

私はFramerを使い慣れていて、非常に厄介な問題を抱えています。CoffeeScript/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/

+0

'sectionToLoad'は*オブジェクト*' layerB'ではなく*文字列* ''layerB''です。 'layerA' ...' layerD'オブジェクトはどこから来ますか? 'PossibleSections'を文字列の配列ではなく文字列からオブジェクトへのマップに変更できますか? –

答えて

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) 
関連する問題