jScrollPane没有贴在底部
jScrollPane doesn't sitck to bottom
在我设计的一个简单聊天界面中,我使用jScrollPane作为滚动条。我在这里的问题是,jScrollPane不滚动到底部自动。jScrollPane确实有一个方便的选项'stickToBottom',我已经设置为true,而且我已经设置'autoReinitalise'为true,因为内容被动态添加到特定的div。现在,一旦chatbox被填充并且滚动条被添加,我希望jScrollPane自动滚动到底部并固定在那里。但事实并非如此。我首先需要手动滚动到底部,然后它就会固定在那里。所以我试图创建一个innerdiv的高度1像素超过它的父(有滚动条),以便从一开始滚动条是可见的。然后通过api,我在y轴上滚动到100%,这样滚动手柄就完全向下了。但是在这种情况下,当我的聊天框被填充并且内容超过可用空间时,滚动条不会粘在底部,它甚至几乎再次滚动到顶部。
我设置了一个非常简单的测试页面,有这个问题:
http://www.webtrail.nl/jscrollpane-example希望有人能在这里帮助我。谢谢!
您应该默认启用maintainPosition
和stickToBottom
,但棘手的部分是只调用scrollToBottom()
一次,当内容将完全占据滚动div的高度时,您应该这样做,因为您仍然希望maintainPosition
功能工作(这样,如果用户滚动到顶部,即使新内容到达,他也会留在那里)。
如果您多次调用scrollToBottom()
,它将每次滚动到底部(从而消除maintainPosition
功能)。
如果初始内容大于页面高度,则可以在页面加载时调用scrollToBottom
,但如果不是,则需要计算何时内容大小= scrolldiv高度。
我做了一个方法来举例说明这一点(当我添加24divdiv需要滚动,所以我调用scrollToBottom
然后):
var counter = 1;
function addDummyContentToChatBox(api) {
$("<div>This is some dummy content.</div>").appendTo("#chatbox_inner");
if (counter == 24) {
api.scrollToBottom(false);
}
api.reinitialise();
counter++;
}
$(function() {
var api = $('#chatbox').jScrollPane({
stickToBottom: true,
maintainPosition: true
}).data('jsp');
setInterval(function() {
addDummyContentToChatBox(api);
}, 233);
});
完整来源:http://jsfiddle.net/STHgr/37/
- 将视口底部滚动到元素底部
- HTML5页面底部棒
- 固定位置菜单时滚动,直到它击中一个相对容器的底部
- 将jQuery放在代码的底部
- javascript跨浏览器确定用户是否滚动到页面底部
- javascript移动交叉浏览器确定用户是否滚动到页面底部
- 如何将图表放在顶部和底部
- 如何摆脱"压缩/块”;PHP页面底部的注释
- 如果同一页面上有多个谷歌地图,单击任何标记都会突出显示最底部的地图标记
- 引导数据偏移量底部
- 如何防止firefox在打开大型弹出窗口时滚动到页面底部
- 滚动到顶部或底部后的简单效果
- 如何在java脚本中显示引导程序底部的pophover图像点击
- jQuery滚动到聊天框底部
- 如何仅在向上滚动时将页脚粘贴到窗口底部会导致页脚不显示
- jScrollPane-重新初始化时滚动到底部
- 使用带有JQuery的jScrollPane滚动到表格底部
- jScrollPane在内容更新后不会滚动到底部
- Jscrollpane在底部初始化
- jScrollPane没有贴在底部