2012-07-20 49 views
0

我是jQuery的新手,所以如果答案是基本的道歉。jQuery - 防止動畫重複未經驗證(simplecart js)

我想爲我自己的網站開發一個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); 
     }); 
    }); 
+0

克里斯,我一直在努力解決方案,我已經陷入了一個糾結。回到您的網站重新瀏覽它之後,看起來您已經改變了一些東西。你有什麼工作,你有什麼新的需求/問題? – Spooky 2012-07-21 00:18:28

+0

嗨鬼,謝謝你的迴應。沒有什麼應該改變。我發佈了這個問題,然後去睡覺了。我會盡快看看,但接下來的答案就是我正在尋找的東西。謝謝! – 2012-07-21 07:11:56

回答

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); 
     } 
    }); 
+0

謝謝! jQuery中的if語句!當然。會一直在努力 - 謝謝! – 2012-07-21 07:12:57

+0

這些似乎在jsfiddle中工作,但不在我的本地環境中。 – 2012-07-21 13:17:28