2012-01-27 13 views
0

高さ%で塗りつぶされたいくつかの棒がありますが、ページが読み込まれるとすぐにすべての棒がいっぱいになり、0になります。 forループA:jqueryを使用して要素の高さをアニメ化する

for(i = 1; i <= 100; i++) 

しかし、それは私はちょうど私が100に行く変数を作るためにそれらを一緒に入れて、その後にまで戻って減少するかどうかはわかりませんダウンバック

for(i = 100; i == 100; i--) 

を来ています0?

答えて

6

あなたは探しています:

for(i = 100; i >= 0; i--) 

しかし、あなたはちょうどこのslideUpを行うことができます:あなたが望むように

$('someElement') 
    .hide() 
    .slideDown(500, function() { 
     $(this).slideUp(500); 
    }); 

は、上記の要素をアニメーション化します。

$('someElement') 
    .hide() 
    .animate({ height: '100%' }, 500, function() { 
     $(this).animate({ height: 0 }, 500); 
    }); 

アップデート:ここでjsFiddleデモでそのコードは大体あなたはさらに複雑animateアニメーションをしたい場合には、次のように相当します。

0

私はjQuery animateがあなたが探しているものだと思います。結果はthisのようなものです。

+0

なぜdownvote? –

0

二つ目は次のようになります。

for(i = 100; i >= 0; i--) 
0

これはどう:あなたがオブジェクトの高さをアニメーション化しようとしているなら、私はあなたがjQueryのの.animate()機能をしたいと思います

for(i = 100; i >= 0; i--) 
0

$('.bar-elements').animate({ height : '100%' }, 1500, function() { 
    $(this).animate({ height : 0 }, 1500); 
}); 

slideUp/すでにこれを行うの機能:.animate()ため

$('.bar-elements').hide().slideDown(1500, function() { 
    $(this).slideUp(1500); 
}); 

ドキュメント:.slideUp()ためhttp://api.jquery.com/animate

ドキュメント:http://api.jquery.com/slideup

1

あなたは一つのループでそれをすべて行うことができます。

for(var i = 0; i <= 200; i++) { 
    var height = (i <=100) ? i : 200 - i; 
} 

変数heightは0から100になり、0に戻ります。

+0

+1これは滑らかです –

関連する問題