由于动态内容,scrollHeight不准确

时间:2017-04-28 15:16:54

标签: javascript ajax

我有一个div,它在某些时间间隔之前有动态内容。加载此内容后,我需要滚动条转到div的底部,但它只是部分向下,因为渲染尚未完成。我在滚动div之前使用setTimeout确认了这一点。是否可以在向下滚动之前等待渲染完成?

以下是滚动的代码:

// AJAX loads content into the div #myDiv

document.querySelector("#myDiv").scrollTop = document.querySelector("#myDiv").scrollHeight;

1 个答案:

答案 0 :(得分:0)

您可以使用XmlHttpRequest()的readyState属性来估计何时完成加载。

xmlhttpobject.onreadystatechange = function() {
  if (this.readyState == 4 && this.status == 200) {
    document.querySelector("#myDiv").scrollTop = document.querySelector("#myDiv").scrollHeight;
  }
}

Reference