添加新元素后 mCustomScrollbar 不更新

Posted

技术标签:

【中文标题】添加新元素后 mCustomScrollbar 不更新【英文标题】:mCustomScrollbar don't update after add new element 【发布时间】:2018-01-06 12:17:31 【问题描述】:

这是我在jsfiddle 的完整代码。通过 jquery 添加新列表元素后,我使用 update 滚动条更新新列表,但新列表溢出标记 ul 存储它。

此代码用于动态创建列表元素(jsfiddle 中的第 46-50 行):

    var d = new Date();
    var currentYear = d.getFullYear();
        for (var i=1990; i<=currentYear; i++) 
        $("#expandYear ul").append("<li><a href=\"#\">"+ i +"</a></li><li role=\"separator\" class=\"divider\"></li>");
    

此代码用于更新 mcustom 滚动条(jsfiddle 中的第 52-61 行):

   $("#expandYear ul").mCustomScrollbar( 
      advanced: 
         updateOnContentResize: true,
         updateOnImageLoad: true,
         updateOnSelectorChange: "ul",
         updateOnSelectorChange: "ul li",
       
   );

   $("#expandYear ul").mCustomScrollbar("update");

我使用的库自定义滚动条:http://manos.malihu.gr/jquery-custom-content-scroller

谢谢!

【问题讨论】:

【参考方案1】:

尝试从您的 ul 元素中删除 mCustomScrollbar 类 - 这会弄乱溢出的 CSS,无论如何,插件都会在初始化后为您添加它。

【讨论】:

以上是关于添加新元素后 mCustomScrollbar 不更新的主要内容,如果未能解决你的问题,请参考以下文章

使用 mCustomScrollbar 一次滚动一个元素

带有自定义滚动条 (mCustomScrollbar) 的自定义选择 (Nice select)

如何设置 mCustomScrollbar 总是离开?

jquery Chosen 和 mCustomScrollbar 不能一起正常工作

如何在不添加新数组的情况下移除元素?

在 DOM 中添加新元素后,该元素无法识别旧脚本