首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当Jquery jScrollPane被重新初始化时,它会返回到顶部。为什么?

问当Jquery jScrollPane被重新初始化时,它会返回到顶部。为什么?
EN

Stack Overflow用户
提问于 2011-12-05 04:26:17
回答 4查看 4.7K关注 0票数 2

我使用jquery库jScrollPane来设置整个页面的自定义滚动条。

代码语言:javascript
复制
scroll_bar = $('body>div').jScrollPane(
     {
        autoReinitialise: true,
            showArrows: true,
            maintainPosition: false
     }).data('jsp');

当在页面底部添加新内容时(当用户在页面底部时),我调用:

代码语言:javascript
复制
scroll_bar.getContentPane().find(".content").append(some_content);
scroll_bar.reinitialise();

这会重新初始化滚动条,但会将用户带到页面顶部。我想让窗户留在原来的位置。有什么解决方案吗?

EN

回答 4

Stack Overflow用户

发布于 2011-12-05 04:42:19

你确定你得到了所需的数据,我不知道这是否有效,但你有没有尝试过:

代码语言:javascript
复制
scroll_bar = $('body>div').jScrollPane(
   {
      autoReinitialise: true,
          showArrows: true,
          maintainPosition: false
   });

scroll_bar.data('jsp');

您不是通常使用.scroll-pane类来完成此操作,而不是使用body>div选择器吗?

我想也许应该是这样的:

代码语言:javascript
复制
var api = scroll_bar.data('jsp');
api.reinitialise();
票数 0
EN

Stack Overflow用户

发布于 2011-12-05 06:36:31

如果希望滚动条保持其位置,则应将

代码语言:javascript
复制
      maintainPosition: true

另外,尝试像这样重新构建代码:

代码语言:javascript
复制
            // Use jscrollpane api function to enable reinitialization
            var scrollelement = $('body>div').jScrollPane({ maintainPosition: true});
            var api = scrollelement.data('jsp');
            api.getContentPane().html(result);


            // Needed to apply jscrollpane after change new container type
            api.reinitialise();

希望这能对您有所帮助:)

票数 0
EN

Stack Overflow用户

发布于 2011-12-05 06:37:07

从docs

  • maintainPosition布尔值-重新初始化滚动窗格时,是否希望滚动窗格的内容保持其位置-以便在添加更多内容时不会滚动(默认值为true)

将其设置为false。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8378349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档