divのmargin-topの変更をアニメーション化したい。
通常、私はこれを次のようにします:
$("#mydiv").animate({ marginTop: '+='+myvar}, 200);
ただし、これは常に値を加算 (または減算) します。値の変化を単純にアニメートする方法が必要です。
例: div が 100 のマージントップで始まり、myvar 値が 50 の場合、div をアニメーション化して 50 に縮小します。同様に、myvar 値が 200 の場合、変更をアニメーション化したいので、200 に成長します。
私はこれをある程度達成することができますが、CSS をリセットします。
$("#mydiv").css("margin-top", "0px");
$("#mydiv").animate({ marginTop: '+='+myvar}, 200);
毎回ですが、それは少し不格好になります。
これを達成するための5月を知っている人はいますか?
(PS: CSS トランジションを使用せずに)
編集:以下に私のコードを追加しました
$("#info1tab").click(function() {
$(".textbox").slideUp('200');
$("#info1").delay(300).slideDown('200');
var itemheight = $("#info1").css("height");
var itemheightint = parseInt(itemheight);
$("#photobox").animate({ marginTop: itemheightint }, 200);
});
$("#info2tab").click(function() {
$(".textbox").slideUp('200');
$("#info2").delay(300).slideDown('200');
var itemheight = $("#info2").css("height");
var itemheightint = parseInt(itemheight);
$("#photobox").animate({ marginTop: itemheightint }, 200);
});