0

サイトで simplecart.js を使用して商品をカートに追加しています。サイトはこちらからご覧いただけます。

ドキュメントには、 After Add 関数の使用が記載されています。

// basic callback example
simpleCart.bind( "afterAdd" , function( item ){
  console.log( item.get("name") + " was added to the cart!" );
});

panelスクリプトでこの関数を使用して、アイテムが追加されたらスライドアウトする div を作成したいと思います。

スライド アウト パネルの既存の jQuery は次のとおりです。

///////
///Settings object
///////
var settings = {
    objSlideTrigger: '.trigger',
    objSlidePanel: '.panel'
}

リンクされたファイルには完全な jQuery もあります。

///////
///Slide out tab
///////
function slideOutTab() {
    //Bind a click handler to the trigger
    $(settings.objSlideTrigger).bind('click' , function() {
        //If the panel isn't out
        if(!$(settings.objSlidePanel).hasClass('out')){
            //Animate it to left 0px
            $(settings.objSlidePanel).animate({
                'left' : '0px'
            });
            //Add the out class
            $(settings.objSlidePanel).addClass('out');
        }
        else {
            //Otherwise, animate it back in
            $(settings.objSlidePanel).animate({
                'left' : '-330px'
            });
            //Remove the out class
            $(settings.objSlidePanel).removeClass('out');
        }
    });
}
    $(function(){slideOutTab();});

さらに、既存の simplecart JavaScript を追加します。

simpleCart({
    checkout: {
      type: "PayPal",
      email: "hello@myemail.com",
    },
    currency: "GBP"
});

基本的なコールバックの例を使用する必要があることは理解していますが、コンソール メッセージの代わりにスライド アウト用の JavaScript を呼び出す必要がありますが、構文がわかりません。誰でも助けることができますか?

4

2 に答える 2

1

DOM ロード時に呼び出すslideOutTab()ため、要素には がclick handler関連付けられています。

simpleCart.bind( "afterAdd" , function(){
    $('.trigger').click();
});
于 2012-10-20T01:27:11.057 に答える
0

カートが開いているかどうかを確認し、開いていない場合は開きます。

simpleCart.bind( "afterAdd" , function(){
    if(!$(settings.objSlidePanel).hasClass('out')){
        $(settings.objSlidePanel).click();
    }
});

「!」クラス「アウト」を「持っていない」かどうかを確認することを意味します。つまり、if ステートメントが in の場合は true であり、これにより click メソッドが起動します。

于 2012-10-20T19:59:04.533 に答える