jquery - SimpleCart JS 根据数量改变购物车的颜色

标签 jquery css if-statement simplecart

我在尝试使用 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" );
}
});

问题:

  1. 具有“afterAdd”功能的脚本通常会更改购物车的颜色,但是当我添加 .hide() 和 .fadeIn() 效果时,添加功能会继续工作,但是隐藏、淡入或添加颜色效果不起作用。

  2. 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/

相关文章:

jquery - 如何在 Bootstrap3 的段落元素内切换下拉菜单

PHP If 语句逻辑

jquery - 如何让垂直渐变背景适用于所有浏览器?

javascript - 在jetpack扩展中查找访问过的链接

javascript - 当页面滚动到达 anchor 时更改 DIV 的不透明度

r - 使用 for 循环和 if 语句比较两个矩阵(x 和 y)以在其中一个矩阵 (y) 中创建新列 - 可重现

c# - 返回 bool 值的方法

javascript - 使用 jQuery 按标签中的内容过滤标签

asp.net - HtmlEditor 导致不需要的断线

css - 在 iPad View 中,如何将双列布局的右栏放在顶部?