まあ、あなたは使うことができますwindow.scroll()
。かなりよくサポートされているようです (IE9、Chrome、Firefox)。IE8/7要素の を認識height: 100%
しないため、よくわかりません。html, body
たとえば、ここでは 20 個の要素を動的に作成し、window.scroll
を の合計の高さに設定しますdiv
。これは、(想定される) document.body
「高さ」と同じ高さです。
やってみて:
(function load(d) {
var body = d.body,
i = 0,
div,
winheight = h(),
scroll = 0;
(function loop() {
if (i++ < 20) {
scroll = scroll + 20 + 100 + 5 + winheight;
div = document.createElement('div');
div.style.height = winheight - 125 + 'px';
div.className = 'block';
div.innerHTML = 'DIV #' + i;
document.body.appendChild(div);
window.scroll(0, scroll);
setTimeout(loop, 2000);
}
})();
function h() {
return Math.max(
Math.max(body.scrollHeight, d.documentElement.scrollHeight),
Math.max(body.offsetHeight, d.documentElement.offsetHeight),
Math.max(body.clientHeight, d.documentElement.clientHeight)
);
}
})(document);
デモンストレーション(ソース)