2012-10-20 329 views
0

我在我的網站上使用simplecart.js將項目添加到購物車。 Site can be seen here.單擊按鈕後顯示滑出div

說明文檔中提到的後添加功能的使用:

// basic callback example 
simpleCart.bind("afterAdd" , function(item){ 
    console.log(item.get("name") + " was added to the cart!"); 
}); 

我想使用這個功能在我的腳本做出來的div panel滑蓋滑出一旦該項目已被添加。

的滑出面板現有的jQuery是:

/////// 
///Settings object 
/////// 
var settings = { 
    objSlideTrigger: '.trigger', 
    objSlidePanel: '.panel' 
} 

也有充分的jQuery的鏈接文件:

/////// 
///Slide out tab 
/////// 
function slideOutTab() { 
    //Bind a click handler to the trigger 
    $(settings.objSlideTrigger).bind('click' , function() { 
     //If the panel isn't out 
     if(!$(settings.objSlidePanel).hasClass('out')){ 
      //Animate it to left 0px 
      $(settings.objSlidePanel).animate({ 
       'left' : '0px' 
      }); 
      //Add the out class 
      $(settings.objSlidePanel).addClass('out'); 
     } 
     else { 
      //Otherwise, animate it back in 
      $(settings.objSlidePanel).animate({ 
       'left' : '-330px' 
      }); 
      //Remove the out class 
      $(settings.objSlidePanel).removeClass('out'); 
     } 
    }); 
} 
    $(function(){slideOutTab();}); 

加上現有simplecart的JavaScript。

simpleCart({ 
    checkout: { 
     type: "PayPal", 
     email: "[email protected]", 
    }, 
    currency: "GBP" 
}); 

我明白,我需要使用基本回調例子,但不是控制檯消息要打電話滑出的JavaScript,但我不知道語法。誰能幫忙?

+0

滑出指定的jquery只用於設置,而不是調用它的實際函數。你能找到併發布那個滑出功能嗎? – Jason

+0

完整的JS被鏈接了,但我現在把它放在代碼中。只是擔心它有點長。 – Francesca

+0

看到了,@Ohgodwhy的解決方案應該可以正常工作。 – Jason

回答

1

您在DOM負載上調用slideOutTab(),因此該元素附加了一個click handler

simpleCart.bind("afterAdd" , function(){ 
    $('.trigger').click(); 
}); 
+0

這應該在simplecart腳本還是在幻燈片腳本中進行?我已經在simpleCart腳本中嘗試過它,但它不起作用。 – Francesca

0

要檢查車是開放與否,再打開,如果它不是「!」

simpleCart.bind("afterAdd" , function(){ 
    if(!$(settings.objSlidePanel).hasClass('out')){ 
     $(settings.objSlidePanel).click(); 
    } 
}); 

的意味着檢查它是否「不」讓班級「外出」。換句話說,如果if語句處於in中,則該語句爲true,這會導致點擊方法觸發。

+0

您確定這是正確的嗎?該腳本在控制檯中引發錯誤,但我無法弄清楚它是什麼。看起來像一個括號關閉錯誤? – Francesca

+0

這是錯的。抱歉。我做了正確的調整。再試一次。 – Jason