我试图做一个DIV聊天框滚动时溢出,但不幸的是它停止短暂,我不知道为什么。这是我的代码。DIV溢出滚动停止短
有人能告诉我什么是错的,以及如何解决它?现在发生的事情是它会向下滚动一会儿,但它会停止滚动。我一直在这个问题上停留了将近一个小时。
我试图做一个DIV聊天框滚动时溢出,但不幸的是它停止短暂,我不知道为什么。这是我的代码。DIV溢出滚动停止短
有人能告诉我什么是错的,以及如何解决它?现在发生的事情是它会向下滚动一会儿,但它会停止滚动。我一直在这个问题上停留了将近一个小时。
虽然我不是,但目前,肯定为什么你自己的尝试失败(尽管我猜这是变量CHATBOX_ID
的问题,但这只是因为你没有显示它来自哪里),此版本的作品。尽管有一些假设(我将在后面解释):
var chatContentHeight, scrollVal;
var chatHeight = $('#chat').height();
$('#message').keyup(
function(e) {
chatContentHeight = 0;
if (e.keyCode == '13') { // assuming you want messages submitted on hitting 'enter'
newMsg = $(this).val();
$('<div />').text(newMsg).appendTo('#chat');
$(this).val('');
$('#chat > div').each(
function() {
chatContentHeight = chatContentHeight + $(this).outerHeight();
});
if (chatContentHeight > chatHeight) { // checking whether or not scrolling is needed
scrollVal = (chatContentHeight - chatHeight); // defines the amount to scroll
$('#chat').scrollTop(scrollVal);
}
}
});
我的假设是:
div
s到包含消息,我会个人更喜欢使用dl
或ol
,但它似乎使演示稍微复杂一点,以使用这些元素,尽管它们完全可以使用。如果您想解释(或者,至少,如果你想帮助我们能够报价的解释),您需要至少发表您的完整的jQuery/JavaScript的或链接到现场演示,以再现您的问题(无论是在您自己的服务器上还是在JS Fiddle或类似的地方)。
参考文献:
另外奇怪的是,它在JSFiddle上可以正常工作,但不能在具有完整HTML代码的服务器上正常工作。尽管JS的CSS代码大致相同。我认为它必定是HTML结构的一个问题,可能在绝对定位的div上使用浏览器高度限制。 – Ryan
我肯定会找你的,但恐怕不会明天下午/晚上,恐怕。对不起,但我会尽我所能帮助更多。 –
它什么时候停止滚动?下行多少行? – alquatoun
您的代码不能帮助我我是afrad:http://jsfiddle.net/rF4rn/ –
我有我的服务器上托管的聊天应用程序现在在goo.gl/QBYfS戴夫托马斯的建议。但现在它不是在滚动,尽管它在JSFiddle中工作正常。你们可以看看它,找出原因吗?谢谢。 – Ryan