jQuery - 防止动画重复而不​​进行验证(simplecart js)

时间:2012-07-20 22:56:05

标签: jquery animation jquery-animate

我是jQuery的新手,如果答案是基本的,那么道歉。

我正在尝试为自己的网站开发一个simplecart js架子。在将商品添加到购物车之前,必须选择(产品的)尺寸。当添加到购物车时,物品会飞入。之后即使未选择产品尺寸,产品仍会执行飞行动画。

我想制作动画,只有在选择尺寸选项时才会出现动画(最好是仅在点击“添加到购物车”链接时)。

Here's what I have so far

使用jQuery:

// Items flys to cart
    $(".tooltip .item_add").click(function(){
        $(".simpleCart_shelfItem").click(function(){
            var clone = $(this).clone(),
            position = $(this).position(),
            bezier_params = {
            start: {
              x: position.left,
              y: 0, 
              angle: -90
            },  
            end: { 
              x:470,
              y:-100, 
              angle: 180,
              length: .2
            }
          };

        clone.appendTo('.shelf');
        clone.find('.tooltip').hide();
        clone.addClass('addDemoAnimation');
        clone.animate({path : new $.path.bezier(bezier_params)}, 600);
        });
    });

1 个答案:

答案 0 :(得分:1)

Check out this fiddle。你是否想要这条线上的东西

$(".tooltip .item_add").click(function() {
        var tooltip = $('.item_add').closest('.tooltip');
        if($('select',tooltip ).val()!='Select Size'){
            var clone = $('.simpleCart_shelfItem').clone(),
                position = $(this).position(),
                bezier_params = {
                    start: {
                        x: position.left,
                        y: 0,
                        angle: -90
                    },
                    end: {
                        x: 470,
                        y: -100,
                        angle: 180,
                        length: .2
                    }
                };

            clone.appendTo('.shelf');
            clone.find('.tooltip').hide();
            clone.addClass('addDemoAnimation');
            clone.animate({
                path: new $.path.bezier(bezier_params)
            }, 600);
        }
    });