您好我正在尝试在 django 中实现一个简单的聊天框,并且想知道如何使用 javascript 滚动到 div 类的底部?基本上,当页面加载时,我希望用户可以看到发送给他们的最新消息,而不是最近的消息。
问问题
2671 次
3 回答
1
我最近为了类似的事情不得不这样做。我找到了一个基本的 jquery 插件,可以将元素平滑地滚动到屏幕上。
(function($) {
$.fn.scrollMinimal = function() {
var cTop = this.offset().top;
var cHeight = this.outerHeight(true);
var windowTop = $(window).scrollTop();
var visibleHeight = $(window).height();
if (cTop < windowTop) {
$('body').animate({'scrollTop': cTop}, 'slow', 'swing');
} else if (cTop + cHeight > windowTop + visibleHeight) {
$(jQuery.browser.webkit ? "body": "html")
.animate({'scrollTop': cTop - visibleHeight + cHeight}, 'slow', 'swing');
}
};
}(jQuery));
像这样使用:
$('#chat').scrollMinimal();
于 2012-04-17T03:06:58.167 回答
1
好吧,基本脚本是设置 scrollTop 等于 scrollHeight,所以你需要一个这样的脚本:
var DIV = document.getElementById('theDIVElement');
DIV.scrollTop = DIV.scrollHeight;
您只需要更改theDIVElement
为您的 DIV id。
于 2012-04-17T03:15:26.240 回答
0
这是我在聊天中使用的脚本:
<SCRIPT LANGUAGE="JavaScript">
<!--
function myScroll() {
window.scrollBy(0,01)
setTimeout('myScroll()',100); }
if (document.layers || document.all)
myScroll()
//--></SCRIPT>
这也适用于添加新消息时,如果您滚动到底部的速度太快,则在您尝试阅读时会很难看到您的眼睛。
于 2012-04-17T03:54:31.963 回答