Javascript 在设置动画期间使用if-else的jQuery

Javascript 在设置动画期间使用if-else的jQuery,javascript,jquery,html,css,Javascript,Jquery,Html,Css,可以在jQuery运行时进行交互吗? 我有一个从下到上移动图像的小动画。 我的动画从外部获取输入,以便它知道动画何时结束,或者更好地知道它必须停止的位置 现在我有一件事要做,那就是看看动画是否达到70%以上,然后我的图像必须缩小。但这只有在距离达到70%以上时才会发生。 你可以将它与瓶颈进行比较,它的顶部越来越薄,因此我尝试缩小我的图像。 但我找不到任何线索如何做到这一点 例如: 行动1: 移动50%——好的 行动2: 移动90%——正在进行中 --但在70%时,将图像缩放到50% 编辑 谢谢大

可以在jQuery运行时进行交互吗? 我有一个从下到上移动图像的小动画。 我的动画从外部获取输入,以便它知道动画何时结束,或者更好地知道它必须停止的位置

现在我有一件事要做,那就是看看动画是否达到70%以上,然后我的图像必须缩小。但这只有在距离达到70%以上时才会发生。 你可以将它与瓶颈进行比较,它的顶部越来越薄,因此我尝试缩小我的图像。 但我找不到任何线索如何做到这一点

例如:

行动1: 移动50%——好的

行动2: 移动90%——正在进行中 --但在70%时,将图像缩放到50%

编辑

谢谢大家的帮助,但是。。。很抱歉说。。。我不明白。 我尝试过你的解决方案,但我始终在顶部圆圈和水之间有一个偏移:


似乎没有其他人回答,我至少要试试

您可以使用step方法,也可以使用$.Animation,两者的使用方式几乎相同,下面是后者的一个示例,关于如何使用step方法的示例应该很容易在这里找到

var elem  = $('#some_element'),
    width = elem.width();

$.Animation( {left: elem.position().left}, 
    {
        left: 500
    }, {
        duration: 2000
    }
).progress(function (e) {
    var start  = e.tweens[0].start, // start position
        end    = e.tweens[0].end,   // end position
        now    = e.tweens[0].now,   // where we are now
        lapsed = Math.ceil(now / end * 100); // calculate percentage

    elem.css('left', now);

    if (lapsed > 70) { // 70% reached
        elem.width(width + ((lapsed-70)*2));  // lets animate width as well
    }
});

似乎没有其他人回答,我至少要试试

您可以使用step方法,也可以使用$.Animation,两者的使用方式几乎相同,下面是后者的一个示例,关于如何使用step方法的示例应该很容易在这里找到

var elem  = $('#some_element'),
    width = elem.width();

$.Animation( {left: elem.position().left}, 
    {
        left: 500
    }, {
        duration: 2000
    }
).progress(function (e) {
    var start  = e.tweens[0].start, // start position
        end    = e.tweens[0].end,   // end position
        now    = e.tweens[0].now,   // where we are now
        lapsed = Math.ceil(now / end * 100); // calculate percentage

    elem.css('left', now);

    if (lapsed > 70) { // 70% reached
        elem.width(width + ((lapsed-70)*2));  // lets animate width as well
    }
});

你能添加你所说的.animate方法吗?这样我们就可以了解你想用它做什么了?可能有两个动画,一个用于前70%,第二个用于调整大小和剩余距离?一个选项是使用
步骤
选项添加一个在动画中的每一步都调用的函数。查看
动画制作的文档。另一个选项(假设线性动画)是将其分为两个动画,一个动画执行前70%,另一个执行剩余的30以及缩放。您可以使用
步骤
方法执行此操作,或者通过使用
$.Animation
动画步骤和两个动画的示例,您可以添加您正在讨论的.animate方法,以便我们了解您正在尝试使用它做什么?可能两个动画,一个用于前70%,第二个是调整大小和剩余距离?一个选项是使用
步骤
选项添加一个函数,该函数在动画中的每一步都被调用。查看
动画制作的文档。另一个选项(假设线性动画)是将其分为两个动画,一个动画执行前70%,另一个执行剩余的30以及缩放。您可以使用
步骤
方法执行此操作,或者通过使用
$.Animation
动画步骤和两个动画的示例谢谢你,但我尝试实现了它,但没有成功。我编辑了我的帖子顶部,并添加了一个到CodePen.iot的链接,谢谢你,但我尝试了实现它,但无法让它工作。我编辑了我的帖子顶部并添加了一个到CodePen.io的链接