2012-04-01 28 views
0

私が欲しいのは、ウィンドウの高さの300pxから26pxまでの高さをトグルするアニメーションdivです。私が直面している問題は、ウィンドウのサイズを変更した後にdivのサイズを拡大して更新しないということです。私は常にwindowheight-26pxに拡大したいが、今は最初のwindowheightに切り替えるだけで、それは更新されない。私が今持っているコードは次のとおりです。jQuery、ウィンドウ上でトグル機能の変数を更新する、サイズ変更

$j(document).ready(function(){ 

var $nh = $j(window).height()-26; 

$j("#header-wrap").toggle(function(){ 
    toggleHeaderDown($nh); 
},function(){ 
    toggleHeaderUp(); 
}); 

function toggleHeaderDown(y){ 
    $j("#header-wrap").animate({height:y},400,'easeInOutQuart'); 
    $j("#header-image").animate({height:'100%'},400,'easeInOutQuart'); 
    $j("#head1, #head2, #head3, #head4").animate({top: 0},400,'easeInOutQuart'); 
}; 
function toggleHeaderUp(){ 
    $j("#header-wrap, #header-image").animate({height:300},400,'easeInOutQuart'); 
    $j("#head1").animate({top: -50},400,'easeInOutQuart'); 
    $j("#head2").animate({top: -370},400,'easeInOutQuart'); 
    $j("#head3").animate({top: -200},400,'easeInOutQuart'); 
    $j("#head4").animate({top: -330},400,'easeInOutQuart') 
};}); 



$j(window).resize(function() { 

$nh = $j(window).height()-26; 

}); 

答えて

0

私はtoggleHeaderDownで$のNHが計算されます:あなたは、高さの正しい値を取得するには、resizeイベントを待つ必要はありません

function toggleHeaderDown() { 
     $nh = $j(window).height() - 26; 
     // ... 
} 

その方法

+0

ああもちろん、私の愚かなこと!ありがとう、それはトリックをした –

関連する問題