2

我有div.scrollContainer插入一堆物品的地方。当页面加载时,我运行 mCustomScrollbar jQuery 插件,它将获取里面的项目div.scrollContainer并将其自己的 classes/css/js 包装在它周围以创建自定义滚动条。

当页面加载时,我会浏览我自己的库,该库会输出更多项目供我注入滚动条。我目前正在将它们定位/附加到 mCustomScrollbar 创建的自定义类中。然而,问题是有时我的库会在 mCustomScrollbar 创建其类之前输出项目。结果,库中的项目永远无法放置在正确的元素中,因为它不存在。

我曾考虑将库中的项目附加到div.scrollContainer,但后来我遇到了一个问题,如果 mCustomScrollbar 在附加项目之前创建了它的类会怎样。

总而言之,我想知道是否有一种方法可以检测何时在 DOM 中创建了新元素。我已经查看了建议使用 livequery 插件的其他线程。我想知道是否有不需要额外插件的解决方案。

4

2 回答 2

1

您可以.mCustomScrollbar()在插入最后一个项目后调用,因此您可以肯定这些项目确实被插入:

$(".your-container").append($(".your-items"));
$("div.scrollContainer").mCustomScrollbar();
于 2012-11-29T23:31:25.080 回答
0

使用 updateOnContentResize: true 设置,它将每隔几毫秒检查一次新内容。启动插件时,还要在其他设置中添加这些: $(selector).mCustomScrollbar({ advanced:{ updateOnContentResize: true } });

然而!我个人反对每隔几毫秒遍历一次无用的 DOM,我建议你使用它的原生更新方法。找到一种方法来了解何时向滚动条标记添加更多内容,并在需要时运行它: $(selector).mCustomScrollbar("update");

PS阅读它的文档,很多有用的设置/方法。

希望这可以帮助 :)

于 2014-03-20T09:03:15.523 回答