我有一个基于聊天的系统,我使用jQuery / AJAX在MVC框架中构建。页面加载时,它会使用数据库中的最后x个响应填充聊天窗口。
我到处寻找答案,但却找不到任何答案。我试过的每一种选择都无法解决。
我使用此功能向下滚动到聊天窗口的底部;
function scrollToBottom()
{
var panel = $('.panel-body#main-window');
panel.scrollTop(panel.height());
}
这是我的CSS:
.panel-body#main-window
{
overflow-y: scroll;
height: 550px;
width: 100%
}
当我将它绑定到onClick处理函数时,这工作正常,但无论我尝试过什么,它都不会在$(document).ready();
结束之前滚动到我的面板底部呼叫。因此,当页面加载时,它不会滚动到我的容器底部。
在Firefox和Chrome中都尝试了这一点并且都不起作用。我的函数正在调用,但当它在$(document).ready();
内调用时,它拒绝滚动到我的面板底部。
我也尝试过这个功能,它也不起作用;
$(window).on('load', function(){
setTimeout(scrollToBottom(), 500);
});
答案 0 :(得分:2)
你没有将函数的引用传递给你的setTimeout,我应该如下所示:
$(window).on('load', function(){
setTimeout(scrollToBottom, 500);
});
你这样做的方式,只要代码得到评估,就会执行scrollToBottom函数。