mCustomScrollbar无法处理jquery追加

时间:2015-06-18 13:58:44

标签: javascript jquery ajax

在我的html中,我试图通过ajax调用更新购物车数据。 在html中

<div id="cart_list"></div>

内部脚本

$(document).ready(function(){
  jQuery.get("/show_header/",
          function(data) {
          show_cart(data)
         });

})

这是show_cart函数

function show_cart(data){
     $("#cart_list").append(
        '<div  class="dropdown  cartMenu ">'+
        '<a href="#" class="dropdown-toggle" data-toggle="dropdown"></a>'+
        '<div class="dropdown-menu col-lg-6 col-xs-12 col-md-6 " style="width: 184%;">'+
        '<div id="scroll_cart" class="w100 miniCartTable scroll-pane">'+
        '<table>'+
        '<tbody>'+
        cart_string+
        '</tbody>'+
        '</table>'+
        '</div>'+
        '<div class="miniCartFooter text-right">'+
        '<h3 class="text-right subtotal"> Subtotal:₹ '+ data.header_data.price +' </h3>'+
        '<a class="btn btn-sm btn-danger" href="/cart/"> <i class="fa fa-shopping-cart"> </i> VIEW CART </a>'+
        '<a href="/payment/" class="btn btn-sm btn-primary"> CHECKOUT </a> </div>'+
        '</div>'+
        '</div>'
      )
    }

(cart_string是在函数show_cart中生成的。但是我删除了那些步骤,因为我认为它在这里不相关)。

但滚动条不再起作用了。我在本节中尝试了其他答案,似乎没有任何效果。

我尝试使用滚动类为div“scroll_cart”给div,并在show_cart函数中尝试以下行。但没有变化。

$("#scroll_cart").mCustomScrollbar("update");

为div启用滚动条的正确方法是什么?

3 个答案:

答案 0 :(得分:1)

创建元素后,您需要使用$("#scroll_cart").mCustomScrollbar("update");

show_cart()函数之后。

因为元素$("#scroll_cart")在绑定时应该存在于dom中。

$(document).ready(function() {
    jQuery.get("/show_header/",
        function(data) {
            show_cart(data);
            $("#scroll_cart").mCustomScrollbar("update");
        });

})

答案 1 :(得分:0)

请参阅此reference

代码:

  $('#scroll_cart').mCustomScrollbar("destroy");
  $('#scroll_cart').append('some text');
  $('#scroll_cart').mCustomScrollbar();

答案 2 :(得分:0)

请确保在您的 HTML 文件中包含 jquery.mCustomScrollbar.concat.min.js