在动画元素期间降低速度

时间:2013-09-01 13:47:14

标签: javascript jquery animation

我正在寻找一种解决方案,使用jquery animate将元素从宽度0动画到宽度100%(我认为这不是正确的解决方案)。元素越大,动画越慢,因此当元素变大时,动画的速度应该减慢得更多。没有太多的演示代码可以帮到你,所以我真的希望有人能够理解我想要构建的内容。

//代码(不是做这样的事情的最好方法)

$('.element').animate({width: '20%'},2000,function(){
    $('.element').animate({width: '40%'},4000,function(){
        $('.element').animate({width: '60%'},8000,function(){
            $('.element').animate({width: '80%'},16000,function(){
                $('.element').animate({width: '100%'},32000,function(){

                });
            });
        });
    });
});

使用缓动不起作用!

2 个答案:

答案 0 :(得分:2)

试试这个

var height = $('.element').height(),
    seconds = 1, 
    minRange = 500, 
    maxRange = 1500;
    time = height * seconds;

time = Math.min(time, maxRange);
time = Math.max(time, minRange);
$('.element').animate({width: '100%'},time);

答案 1 :(得分:0)

您可以尝试使用线性

$('.element').animate({width: '100%'},1000 'linear')