使用jquery动画元素的高度

时间:2012-01-27 19:19:18

标签: jquery

我有一些高度为%的条形图,但是当页面加载时我想要所有的条形图填满,然后减少到0.我知道如何填充for循环:

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

但要让它回来

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

我只是不确定如何将它们组合在一起使变量变为100然后减小到0?

7 个答案:

答案 0 :(得分:6)

您正在寻找:

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

但你可以这样做slideUp

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

上面会像你想要的那样动画元素。如果您甚至想要制作更复杂的animate动画,那么该代码大致相当于以下内容:

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

更新:以下是 jsFiddle 演示。

答案 1 :(得分:1)

你可以在一个循环中完成所有这些:

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

变量height将从0变为100,然后变回0。

答案 2 :(得分:0)

我认为jQuery animate正是您所寻找的。结果类似于this

答案 3 :(得分:0)

第二个应该是:

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

答案 4 :(得分:0)

这个怎么样:

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

答案 5 :(得分:0)

如果你试图设置一个对象的高度,那么我认为你想要jQuery的.animate()函数:

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

或者您可以使用已执行此操作的slideUp / slideDown函数:

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

.animate()的文档:http://api.jquery.com/animate

.slideUp()的文档:http://api.jquery.com/slideup

答案 6 :(得分:0)

dude slideToggle。检查一下 - http://jsfiddle.net/6hp2G/。像老板一样工作