我想对 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);
每次,但这使它有点笨拙。
有谁知道可以实现这一目标?
(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);
});