纳米滚动条如果在初始化滚动条之后插入内容,则不会创建滚动条。

3
我正在使用nanoscroller js来在div元素中创建可滚动区域。问题是,我正在通过ajax向该div元素填充数据(想象一下Facebook通知)。首先没有通知,没有数据。然后我将其填充为10个。滚动条不在那里。当我刷新页面时(现在已经有10个通知了),它会自己创建,因为它知道内容比可用空间更多。
如何使它在填充数据时创建滚动条?
4个回答

7
重新初始化nanoScroller, $("your scrollable").nanoScroller(); 在插入内容后...
例如:
$("your content div").append("something");
$("your scrollable container").nanoScroller();

2

@Jonatas的答案对我没用,然后我找到了这个

$("#my_scrollable_container")[0].nanoscroller.reset();


0

我遇到了类似的问题。我的nano div最初填充屏幕宽度,内容量不需要滚动条。但是,用户操作会导致第二个div出现在右侧,使nano div变窄,无法显示所有内容--但滚动条没有出现(尽管我仍然可以使用鼠标滚轮滚动nano内容)。

提供的答案都对我没用,或者我可能应用不正确。所以我查看了jquery.nanoscroller.js代码(我想这应该是我一开始就该做的),发现调用只是:

$(".nano").nanoScroller();

无需引用div ID或任何内容。每当您更改nano div的大小时,请进行此调用,nano滚动条应相应调整以适应。如果页面中有多个nano div,则只需进行一次调用即可重置所有nano div。


这本质上与Jonatas的答案相同。 - Vincent

0

注意不要使用这样的代码:

$(".nano").nanoScroller();

因为如果您有很多 .nano DIV,并且您正在将数据 Ajax 到其中一个 DIV 中,最好使用例如:

$("#FaceBookAjaxNotifi .nano").nanoScroller(); 就像 Jonatas 写的那样。

(在某些情况下可以显著提高性能)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接