2013-07-03 3 views
0

window.resize()에서 변수 값을 변경해야합니다.window.resize의 변수 값 변경

.resize 함수 범위 밖에서 변수를 선언해야한다는 사실을 이미 확인한 후 .resize 범위의 값을 변경하려고합니다. 그러나 이것은 효과가없는 것 같습니다.

var windowHeight = $(window).height(); 
    var goPanel0, goPanel1, goPanel2, goPanel3; 

     goPanel0 = 0; 
     goPanel1 = windowHeight; 
     goPanel2 = windowHeight * 2; 
     goPanel3 = windowHeight * 3; 

    $(window).resize(function(){ 

     goPanel1 = windowHeight; 
     goPanel2 = windowHeight * 2; 
     goPanel3 = windowHeight * 3; 

     //alert(goPanel3); 

    }); 

들으 변수 windowHeight

+0

경고가 발생합니까? 'resize()'에서 –

답변

2

단순히 새를 받고되지 않습니다해야했다 크기를 조정 한 후 윈도우 높이를 변경하여 반복적으로 동일한 이전 값을 제공하므로 이벤트 함수 내부에서 값을 다시 할당해야만 새 값을 가져 와서 사용할 수 있습니다.

$(window).resize(function(){ 
     windowHeight = $(window).height(); // get new height after change 
     goPanel1 = windowHeight; 
     goPanel2 = windowHeight * 2; 
     goPanel3 = windowHeight * 3; 
}); 
4
$(window).resize(function(){ 
     windowHeight = $(window).height(); // add this line 
     goPanel1 = windowHeight; 
     goPanel2 = windowHeight * 2; 
     goPanel3 = windowHeight * 3; 

     //alert(goPanel3); 

    }); 

값은 .resize 범위를 벗어난 할당되고, .resize에서 이전 값을 가지고 있지만, 새로운 가치를

+0

왜 windowHeight가 범위를 벗어 났는지 설명 할 수 있습니까? 자사의 글로벌 var. –

+0

이 솔루션은 작동했습니다 ... – kevinius

+0

@KevinBowersox 대답은 다시 정리됩니다. 영어가 제 모국어가 아닙니다) – Ilya