JavaScript将变量的值公开
下面是我的大JavaScript文件的摘录:JavaScript将变量的值公开,javascript,function,variables,scope,Javascript,Function,Variables,Scope,下面是我的大JavaScript文件的摘录: function dashboardConfig() { $(window).on('resize', function () { var viewport = { width : $(this).width(), height : $(this).height() }; el.siteContainer.css( {
function dashboardConfig()
{
$(window).on('resize', function () {
var viewport = {
width : $(this).width(),
height : $(this).height()
};
el.siteContainer.css(
{
marginTop : (viewport.height - 652) / 2
});
el.dashboardSlide.css(
{
marginLeft : (viewport.width - 1024) / 2,
marginRight : (viewport.width - 1024) / 2
});
//Calculate how many nav elements
el.navElements.each(function(i)
{
el.dashboard.css(
{
width : viewport.width * (i + 1)
});
$(this).click(function()
{
//HERE IS THE VARIABLE I WOULD LIKE TO USE
var dashboardSlidePosition = viewport.width * i;
el.navElements.removeClass('active');
$(this).addClass('active');
el.dashboard.animate(
{
left : -dashboardSlidePosition
},500, function()
{
el.dashboard.css(
{
left : -dashboardSlidePosition
});
});
});
});
//I WANT TO PERFORM ANOTHER FUNCTION HERE AND HAVE IT USE THE VALUE OF dashboardSlidePosition
}).trigger('resize');
}
我想知道如何将变量dashboardSlidePosition的值传递给另一个函数。有人能解释一下吗
非常感谢。您可以在您的范围外声明它。确保给它一个初始值,以便在正确设置之前不要尝试使用它
function dashboardConfig()
{
var dashboardSlidePosition = null;
function anotherFunction() {
if (dashboardSlidePosition != null) {
// ...
}
}
$(this).click(function()
{
dashboardSlidePosition = viewport.width * i;
}
}
把它放在适当的范围内:
function dashboardConfig()
{
var dashboardSlidePosition = 0;
接下来,在重新定义var时将其删除
现在您可以使用它,因为它在函数的作用域中。在更高的作用域中声明它。