我在尝试使用 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() 效果时,添加功能会继续工作,但是隐藏、淡入或添加颜色效果不起作用。
SimpleCart 只提供一个名为“beforeRemove”的事件,但我真正需要的是某种功能“afterRemove”事件,它可以识别数量何时达到 0 并相应地更改购物车的颜色。
如有任何帮助,我们将不胜感激。谢谢。
最佳答案
您可以绑定(bind)到 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;
});
关于jquery - SimpleCart JS 根据数量改变购物车的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17585270/