我在尝试使用simpleCart JS事件来产生根据数量改变购物车颜色的效果时遇到了麻烦。

本质上,我正在尝试实现以下功能:
http://shop.hotelcostes.com/en/music/26-hotel-costes-1.html

通过使用simpleCart js:
http://simplecartjs.org/documentation

到目前为止,我有两个脚本可以工作,但并不理想

simpleCart.bind( "afterAdd" , function( item ){
    if(simpleCart.quantity() > 0){
        simpleCart.$("#cart").attr( "style" , "color:red" );
}
});


simpleCart.bind( "ready" , function( item ){
    if(simpleCart.quantity() > 0){
        simpleCart.$("#cart").attr( "style" , "color:red" );
}
});


问题:


具有“ afterAdd”功能的脚本通常会更改购物车的颜色,但是当我添加.hide()和.fadeIn()效果时,add函数继续起作用,但是hide,fadeIn或add color效果不起作用。
SimpleCart仅提供一个名为“ beforeRemove”的事件,但我真正需要的是某种函数“ afterRemove”事件,该事件可识别数量达到0时的情况并相应地更改购物车的颜色。


任何帮助,将不胜感激。谢谢。

最佳答案

您可以绑定到afterAdd并使用simpleCart.quantity()获得数量。这是一个片段

//assuming you div that displays cartinfo has a class "cartInfo"
simpleCart.bind( "afterAdd" , function( item ){
   if(simpleCart.quantity() == 2){
     simpleCart.$(".cart").attr( "style" , "color:red" );
   }else{
     simpleCart.$(".cart").attr( "style" , "color:balck" );
   }
});
simpleCart.bind( "beforeRemove" , function( item ){
   if(simpleCart.quantity() > 0 && simpleCart.quantity()-1 == 0){
        simpleCart.$("#cart").attr( "style" , "color:black" );
   }
   return true;
});

09-18 05:27