0

simpleCart JS イベントを使用して、数量に応じてショッピング カートの色を変更する効果を作成しようとすると問題が発生します。

基本的に、私は次のような機能を実現しようとしています: http://shop.hotelcostes.com/en/music/26-hotel-costes-1.html

simpleCart js を使用する: http://simplecartjs.org/documentation

これまでのところ、機能するが理想的ではない2つのスクリプトがあります

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」と呼ばれるイベントのみを提供しますが、実際に必要なのは、数量が 0 に達したことを認識し、それに応じてカートの色を変更する何らかの関数「afterRemove」イベントです。

どんな助けでも大歓迎です。ありがとうございました。

4

1 に答える 1

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;
});
于 2013-07-11T04:55:59.533 に答える