我有一個基於聊天的系統,我使用jQuery/AJAX在MVC框架中構建。當頁面加載時,它會用來自數據庫的最後x個響應填充聊天窗口。jQuery scrollTop無法在頁面加載
我到處尋找答案,並且找不到任何關於此的內容。我試過的每一個選擇都不能解決它。
我使用此功能向下滾動到我的聊天窗口的底部;
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);
});
面板在您嘗試滾動時可見嗎?否則,'.height()'將返回'0'。 – melancia
@MelanciaUK;不,這不是問題。我使用console.log來返回高度,並返回正確的值。甚至嘗試手動設置我自己的。該函數返回DOM對象和正確的高度。這只是在頁面加載不工作。 –
這裏發佈的代碼沒有什麼問題(除了setTimeout用法在下面的答案中已經指出):例如。 http://jsfiddle.net/znxca14s/你可以做一個可重複的樣本? – blgt