jQuery Div在每次追加后向下滚动

问题描述:

我有一个div用作聊天,并根据用户操作追加消息。我希望如此,每条消息附加后,div将向下滚动。但是,这不是100%。jQuery Div在每次追加后向下滚动

这里是检查出的小提琴:https://jsfiddle.net/mfj1ub8c/

我敢肯定它是与延迟/淡入每个/隐藏方法追加,但他们需要在那里得到了一定的效果这是必要的。

关于如何解决这个问题的任何想法?

该问题之前的元素实际显示scrollDown被调用:由fadeIn(显示块),所以滚动高度还没有发生变化。如果在fadeIn完成后拨打scrollDown,则当新内容不在屏幕上时,您将错过动画。你想要做的是当元素显示时滚动,但仍然透明(不透明度:0)。如果你使用jQuery 1.8+,你可以使用the start option

这里是工作提琴https://jsfiddle.net/mfj1ub8c/2/

而且你过冲你scrollTop的,它不会在这里造成问题,但它应该是整个高度减去可见高度。

$( '#聊天')丙( “scrollHeight属性”) - $( '#聊天')高度()

只有当fadeIn完成时才致电scrollDown。您可以使用fadeIn的完整回调参数。

例如

.fadeIn(500, scrollDown)) 

固定小提琴:https://jsfiddle.net/mfj1ub8c/1/