相关疑难解决方法(0)

滚动到div的底部?

我正在使用rails中的ajax请求创建一个聊天,我正试图让div滚动到底部而没有太多运气.

我在这个div中包装一切:

#scroll {
    height:400px;
    overflow:scroll;
}
Run Code Online (Sandbox Code Playgroud)

有没有办法让它默认使用JS滚动到底部?

有没有办法让它在ajax请求后滚动到底部?

html javascript ajax

753
推荐指数
19
解决办法
73万
查看次数

除非用户向上滚动,否则保持溢出div滚动到底部

我有一个只有300像素大的div,当页面加载滚动到内容的底部时我想要它.此div具有动态添加到其中的内容,需要始终保持滚动状态.现在,如果用户决定向上滚动,我不希望它跳回到底部,直到用户再次向下滚动

除非用户向上滚动,当用户向后滚动到底部时,即使添加了新的动态内容,它也需要保持在底部,否则可以使div保持滚动到底部.我该如何创造这个呢?

html javascript css jquery scroll

180
推荐指数
9
解决办法
20万
查看次数

当外部div的大小发生变化时,可滚动的div可以坚持到底部

这是一个示例聊天应用程序 - >

这里的想法是.messages-container尽可能多地占用屏幕.在其中.messages-container,.scroll保存消息列表,如果有更多消息,则屏幕大小滚动.

现在,考虑这种情况:

  1. 用户滚动到对话的底部
  2. .text-input,动态地变大

现在,不是用户保持滚动到对话的底部,文本输入增加,他们不再看到底部.

一种解决方法,如果我们使用react,计算文本输入的高度,如果有任何变化,让.messages-container知道

componentDidUpdate() {
  window.setTimeout(_ => {
    const newHeight = this.calcHeight();
    if (newHeight !== this._oldHeight) {
      this.props.onResize();
    }
    this._oldHeight = newHeight;
  });
}
Run Code Online (Sandbox Code Playgroud)

但是,这会导致可见的性能问题,并且像这样传递消息很难过.

有没有更好的办法?我可以用这种方式使用css来表达当.text-input-increase增加时,我想要基本上shift up所有的.messages-container

javascript css css3 flexbox reactjs

36
推荐指数
2
解决办法
1万
查看次数

标签 统计

javascript ×3

css ×2

html ×2

ajax ×1

css3 ×1

flexbox ×1

jquery ×1

reactjs ×1

scroll ×1