链接jQuery动画

链接jQuery动画,jquery,html,css,Jquery,Html,Css,我已经编写了将动画链接在一起的代码(即向左移动,然后向右移动) 我有20个标签排列在网格中,我正在设置主的动画,以将所需的移动到视图中 代码: x和y是坐标, howFast设置为1200, easeItIn设置为“easeOutBounce” if($(window).width()您可能不需要if语句就可以解决该问题。只需调整选择器可能会有所帮助 $('.elements:first-child') 例如,另一个可能是 $('table').find('tr').find('.elemen

我已经编写了将动画链接在一起的代码(即向左移动,然后向右移动)

我有20个
  • 标签排列在网格中,我正在设置主
    的动画,以将所需的
  • 移动到视图中

    代码:
    x和y是坐标,
    howFast设置为1200,
    easeItIn设置为“easeOutBounce”


    if($(window).width()您可能不需要
    if
    语句就可以解决该问题。只需调整
    选择器
    可能会有所帮助

    $('.elements:first-child')
    
    例如,另一个可能是

    $('table').find('tr').find('.elements:nth-child(2)')
    

    默认情况下,动画是排队的,因此在第一个动画的回调中应用第二个动画没有意义

    通过使用
    filter()
    可以过滤掉不在同一行上的所有元素,然后只对它们应用
    y
    动画,然后可以对整个集合应用
    x
    动画

    $('.elements')
        .filter(function(){
            return $(this).offset().top !== y;
        })
        .animate({
            top: y
        }, howFast, easeItIn)
        .end().animate({
            left: x
        }, howFast, easeItIn);
    

    这里的关键是,您可以同时设置多个属性的动画。因此,删除回调函数,只需将另一个属性添加到第一个动画的参数:

    if ($(window).width()<1259) 
    { 
        if (screenFlipMode == "chained") 
        {
            function(x, y)
            { //Small Chained
                $('.elements').animate({
                    top: y,
                    left: x
                }, howFast, easeItIn)
            }(x,y); 
        }
    }
    

    if($(window).width()我正要提出这个建议。我不太明白,如果我有一个网格…我会更新我的问题实际…)
    
    if ($(window).width()<1259) 
    { 
        if (screenFlipMode == "chained") 
        {
            function(x, y)
            { //Small Chained
                $('.elements').animate({
                    top: y,
                    left: x
                }, howFast, easeItIn)
            }(x,y); 
        }
    }