1
基本上,頁面中某個div的溢出被設置爲垂直滾動。我希望用戶能夠在頁面加載後立即滾動。爲了滾動,此時您必須先點擊該div,然後才能滾動。在頁面中選擇一個div onload
我該如何讓這種情況馬上發生?我會懇請您避免使用document.location.hash方法,因爲這似乎是由於某些原因導致頁面內出現其他問題。
如果你看看頁面,可滾動的div是#mainView。
基本上,頁面中某個div的溢出被設置爲垂直滾動。我希望用戶能夠在頁面加載後立即滾動。爲了滾動,此時您必須先點擊該div,然後才能滾動。在頁面中選擇一個div onload
我該如何讓這種情況馬上發生?我會懇請您避免使用document.location.hash方法,因爲這似乎是由於某些原因導致頁面內出現其他問題。
如果你看看頁面,可滾動的div是#mainView。
好了,你可以使用window.scroll()
。它甚至似乎得到很好的支持(IE9,Chrome,Firefox)。 IE8/7我不太確定,因爲它不能識別html, body
元素上的height: 100%
。
例如,在這裏我將動態地創建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);
什麼瀏覽器(和瀏覽器說的版本)您使用的?我無法複製您的問題。 – Daedalus