2012-09-14 98 views
0

你能幫助我,請... 當您使用var你創建一個新的變量,而不是覆蓋原有如何從jQuery函數如何從jQuery函數返回變量

var height = $(window).height(); 

$(window).resize(function(){ 
    var height = $(window).height(); 
    return height; 
}); 

setInterval(function() { 
    $('div').append('Index: ' + height); 
}, 500); 

回答

2

返回變量。你會,而不是想這樣的:

var height = $(window).height(); 

$(window).resize(function() { 
    height = $(window).height(); 
}); 

// ... 
5

你並不需要返回。試試這個:

var height = $(window).height(); // define "height" here 

$(window).resize(function(){ 
    height = $(window).height(); // update "height" variable, 
           // don't user "var" here. 
           // because using "var" will redefine 
           // "height" again and no longer contain the 
           // updated value on window resize 
           // out of this resize function scope 
}); 

setInterval(function() { 
    $('div').append('Index: ' + height); 
}, 500); 
0

我想你的問題的答案取決於你想如何返回它。安慰?警報?一個div或其他元素?請參閱下面的列表。

  • 的console.log(高度)
  • 警報(高度)
  • $( 「#elementID」)HTML(高度)。 //或任何選擇器和方法適用於您的案例

我想你也可以將$(window).resize塊轉換成函數,然後調用該函數。這也應該起作用。