0

我在我的网站上使用 simplecart.js 将商品添加到购物车。网站可以在这里看到。

该文档提到了使用 After Add 功能:

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

我想在我的脚本中使用这个函数来制作一个滑出 div panel,以便在添加项目后滑出。

滑出面板的现有 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

您调用slideOutTab()DOM 加载,因此该元素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();
    }
});

这 ”!” 意味着检查它是否“没有”类“out”。换句话说,如果 if 语句在其中,则为 true,这会导致 click 方法被触发。

于 2012-10-20T19:59:04.533 回答