已滑动的块中的SlideUp块

时间:2012-03-12 15:24:38

标签: javascript jquery

我的#cart_block_top_no_products右上角有“没有产品”字样 - 请点击链接http://livedemo07682.prestatrend.com,只需将鼠标悬停在购物车上即可。将产品添加到购物车并快速悬停购物车时,我们会看到该产品已添加,而#cart_block_top_no_products包含“无产品”文字SlidedUp。但是,如果添加产品而不是快速悬停购物车#cart_block_top_no_products与'没有产品'文本不SlidedUp。看起来不太好看。这是代码:

//create a container for listing the products and hide the 'no product in the cart' message (only if the cart was empty)
                if ($('#cart_block_top dl.products').length == 0)
                    $('#cart_block_top p#cart_block_top_no_products').fadeTo('fast', 0, function(){
                        $(this).slideUp('fast').fadeTo(0, 1);
                    }).before('<dl class="products"></dl>');

有人帮忙吗?

1 个答案:

答案 0 :(得分:0)

Maybey $('#cart_block_top dl.products')。由于同步问题,长度返回0(例如,在将产品添加到购物车之前,此检查已被解除。) 解决方案是将此检查移至ajax-call成功方法回调(请参阅对cart.php的调用):

success: function(jsonData,textStatus,jqXHR) {
    // other code
    if (jsonData.products == null || jsonData.products.length == 0) {
          $('#cart_block_top p#cart_block_top_no_products').fadeTo('fast', 0,        function(){
                    $(this).slideUp('fast').fadeTo(0, 1);
                }).before('<dl class="products"></dl>');
     }

}