添加到jquery篮子

时间:2012-02-03 10:16:09

标签: jquery ajax shopping-cart

我正在使用这个jquery脚本:

$(document).ready(function(){ 

$("#basketItemsWrap li:first").hide();

$(".productPriceWrapRight a img").click(function() {
    var productIDValSplitter    = (this.id).split("_");
    var productIDVal            = productIDValSplitter[1];

    var productX        = $("#productImageWrapID_" + productIDVal).offset().left;
    var productY        = $("#productImageWrapID_" + productIDVal).offset().top;

    if( $("#productID_" + productIDVal).length > 0){
        var basketX         = $("#productID_" + productIDVal).offset().left;
        var basketY         = $("#productID_" + productIDVal).offset().top;         
    } else {
        var basketX         = $("#basketTitleWrap").offset().left;
        var basketY         = $("#basketTitleWrap").offset().top;
    }

    var gotoX           = basketX - productX;
    var gotoY           = basketY - productY;

    var newImageWidth   = $("#productImageWrapID_" + productIDVal).width() / 3;
    var newImageHeight  = $("#productImageWrapID_" + productIDVal).height() / 3;

    $("#productImageWrapID_" + productIDVal + " img")
    .clone()
    .prependTo("#productImageWrapID_" + productIDVal)
    .css({'position' : 'absolute'})
    .animate({opacity: 0.4}, 100 )
    .animate({opacity: 0.1, marginLeft: gotoX, marginTop: gotoY, width: newImageWidth, height: newImageHeight}, 1200, function() {
                                                                                                                                                                                                                                                                                                                $(this).remove();

        $("#notificationsLoader").html('<img src="images/loader.gif">');

        $.ajax({  
            type: "POST",  
            url: "funzioni-carrello.asp",  
            data: { productID: productIDVal, action: "addToBasket"},  
            success: function(theResponse) {

                if( $("#productID_" + productIDVal).length > 0){
                    $("#productID_" + productIDVal).animate({ opacity: 0 }, 500);
                    $("#productID_" + productIDVal).before(theResponse).remove();
                    $("#productID_" + productIDVal).animate({ opacity: 0 }, 500);
                    $("#productID_" + productIDVal).animate({ opacity: 1 }, 500);
                    $("#notificationsLoader").empty();

                } else {
                    $("#basketItemsWrap li:first").before(theResponse);
                    $("#basketItemsWrap li:first").hide();
                    $("#basketItemsWrap li:first").show("slow");  
                    $("#notificationsLoader").empty();          
                }

            }  
        });  

    });

});



$("#basketItemsWrap li img").live("click", function(event) { 
    var productIDValSplitter    = (this.id).split("_");
    var productIDVal            = productIDValSplitter[1];  

    $("#notificationsLoader").html('<img src="images/loader.gif">');

    $.ajax({  
        type: "POST",  
        url: "funzioni-carrello.asp",  
        data: { productID: productIDVal, action: "deleteFromBasket"},  
        success: function(theResponse) {

            $("#productID_" + productIDVal).hide("slow",  function() {$(this).remove();});
            $("#notificationsLoader").empty();

        }  
    });  

});

});

然后我就像这样调用函数:

<div id="basketWrap">
  <div id="basketTitleWrap">
    <h2>Carrello </h2>
  </div>
  <div id="basketItemsWrap">
    <ul>
    <li></li>
    <% 
        'dim getBasket
        getBasket() %>
   </ul>
  </div>
</div> 

如何修改此选项,以便如果篮子为空,则会显示一条消息,说明“您的篮子是空的。”当您添加第一个产品时,这会消失,如果您从篮子中移除所有产品,则会重新出现

1 个答案:

答案 0 :(得分:0)

从空篮子开始,就像这样:

<div id="basketWrap">
 <div id="empty">Your basket is empty!</div>
 <ul id="itemlist">
  ...

如果您的商品列表为空,则将display:none;应用于#itemlist,如果其display:none;填充#empty div,display:block;填充#itemlist 1}}。

使用class="hidden"之类的内容时,您只需切换课程即可。

另外,您可以通过.html()操纵购物篮的innerhtml。

编辑:

使用上面给出的标记,添加到您的函数:

$("#basketItemsWrap li img").live("click", function(event) {

以下代码:

   if ($("#basketItemsWrap li").length == 1){
       $("#empty").show();
   }

(你也可以使用一些过渡。)

在你添加的add-product函数中,ajax调用的成功部分是:

   $("#empty").hide();