2016-04-18 131 views
1

CODEPEN例 http://codepen.io/dada78/pen/b50de869b75b32e220956bb36052733b如何在这种情况下使变量全局可访问?

我试图找出如何使在codepen我在我的功能“fadeOutUnselected(notThisId)”访问highlightSelection功能使用第40行的selectedId变量?

function fadeOutUnselected(notThisId) { 
var tl = new TimelineMax(); 

tl.to(".options:not([id=" + notThisId +"]), input[type='radio']", 0.5, {autoAlpha:0}, "getSlidesReady+=4") //fade out all options but the selected one 
//.to("#"+ selectedId, 0.5, {y:0}) //animate selectedId option up 
    .set(".options:not([id=" + notThisId +"]), input[type='radio']", {y:0}) 
return tl; 
} 

任何帮助表示赞赏。我想要做的只是将用户选择的选项(“selectedId”变量)设置为位置y:0。

谢谢!

+0

尝试宣告它在最顶端,你的比例接近,然后在hightlightSelection功能只是修改它,这样它在全球上市。 –

+0

感谢Caleb,我试着把它加到顶部,正好在百分比变量的下面:'var selectedId =“option-”+ label.getAttribute(“for”)。slice(-1); '并且在highlightSelection函数内部,我只是添加了'var tl = new TimelineMax();'但我仍然无法使它工作...... :-( – user2163224

回答

1

你应该这样做

var globalSelectedId; 

function highlightSelection(label) { 
    // same code 
    globalSelectedId = selectedId; 
} 

function fadeOutUnselected(notThisId) { 
    // same code, you can acces globalSelectedID 
} 
+0

太棒了!非常感谢Tim,这个工作! – user2163224

+0

你应该有一个看看这篇文章虽然:http://stackoverflow.com/questions/2613310/ive-heard-global-variables-are-bad-what-alternative-solution-should-i-use –

相关问题