如何解决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);
}
}
});
JS Fiddle演示。
我的假设是:
您想要在按下回车键时提交消息,
您可以使用/ 2来包含消息,我个人更喜欢使用3/4,但是使用这些元素似乎会使演示复杂一些,尽管它们非常完美可以使用。
如果您想要一个解释(或者,至少,如果您想帮助我们提供一个解释),您至少需要发布完整的jQuery / JavaScript或链接到实时网站演示可以重现您的问题(在您自己的服务器上或在JS Fiddle或类似服务器上)。
参考文献:
keyup()
。
val()
。
appendTo()
。
each()
。
scrollTop()
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。