2012-03-12 8 views
0

右上に「商品はありません」との#cart_block_top_no_productsがあります。こちらのリンクはhttp://livedemo07682.prestatrend.comです。カートに商品を追加してカートをすばやく移動すると、その商品が追加され、#cart_block_top_no_productsに[商品なし]テキストSlidedUpが表示されます。しかし、商品を追加してカートを素早くホバーしない場合、[商品なし]テキストの#cart_block_top_no_productsはSlidedUpではありません。それは良い見ていない。コードは次のとおりです。SlideUpブロック内のSlideUpブロック

//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>'); 

誰か助けてください。

答えて

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>'); 
    } 

} 
+0

解決策はあなたのケースで機能しましたか? – NickGreen