【问题标题】:SimpleCart JS change color of cart according to quantitySimpleCart JS根据数量改变购物车的颜色
【发布时间】:2013-07-11 04:48:13
【问题描述】:

我在尝试使用 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 并相应地更改购物车的颜色。

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

【问题讨论】:

    标签: jquery css if-statement simplecart


    【解决方案1】:

    您可以绑定到 afterAdd 并使用 simpleCart.quantity() 来获取数量。这是一个sn-p

    //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;
    });
    

    【讨论】:

    • 我得到了使用 simpleCart.bind( "afterAdd" , function(item){ simpleCart.$("#cart").attr("style" , "color:red" ); });我不确定 if/else 语句是否可以绑定到“afterAdd”函数,因为在添加任何项目之后,数量将大于 0。有没有办法做出一般性声明,说如果在任何时候购物车数量等于 0 使其变为黑色,如果购物车数量大于 0 则使其变为红色?还是这些必须与特定功能相关联?
    • 我尝试添加几个效果,但没有奏效。 .hide().attr("style","color:red").fadeIn();
    • 所以您想在页面加载时检查购物车内容?你可以使用这个:simplecartjs.org/documentation/ready-event 并且你可以在购物车信息元素上执行任何 jquery 选项..你有任何错误吗??
    • 我确实需要一个加载功能,因为如果有人刷新它识别的页面,如果购物车中有物品并使购物车变红。我需要的是一个功能,当物品被移除时识别购物车中的数量 - 我在上面澄清了我原来的问题并添加了我到目前为止的脚本。
    • 您可以使用 beforeRemove ,当您返回 true 时,该项目将被删除。因此,如果您确定可以删除该项目。你可以使用 simpleCart.quantity()-1;并执行你的逻辑。
    猜你喜欢
    • 1970-01-01
    • 2013-11-30
    • 1970-01-01
    • 2013-09-11
    • 2021-04-19
    • 2014-12-17
    • 2018-10-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多