我正在使用javascript來更改帶有onclick事件的div標籤的顯示。 div位於頁面的底部,當和/或如果需要時用戶可以打開div。當這個div更改爲顯示:block時,如何讓頁面向下滾動?顯示:無顯示:塊 - 如何讓頁面向下滾動?
FYI:我曾嘗試
var objDiv = document.getElementById("the_div_id");
objDiv.scrollTop = objDiv.scrollHeight;
的頁面就不會向下滾動。有任何想法嗎?
我正在使用javascript來更改帶有onclick事件的div標籤的顯示。 div位於頁面的底部,當和/或如果需要時用戶可以打開div。當這個div更改爲顯示:block時,如何讓頁面向下滾動?顯示:無顯示:塊 - 如何讓頁面向下滾動?
FYI:我曾嘗試
var objDiv = document.getElementById("the_div_id");
objDiv.scrollTop = objDiv.scrollHeight;
的頁面就不會向下滾動。有任何想法嗎?
var objDiv = document.getElementById("the_div_id");
objDiv.scrollIntoView();
這樣的事會工作
由DIV
<a href="#div" id="showDivTrigger">
<a name="div"></a>
<div style="display:none;">
contents
</div>
<script>
var element = document.getElementById('#div');
element.style.display = '';
</script>
scrollTop只會使上本身具有的滾動條元素感添加錨點(或不這樣做,但可以滾動) 。從MSDN documentation:對於沒有滾動條的對象,此屬性始終爲0。對於這些對象,設置屬性不起作用。
您chould設置body.scrollTop
代替(或使用window.scrollTo具有相同效果),爲此,您需要在頁面中,您可以通過走起來元素的offsetParent鏈和總結offsetTop獲得元素的絕對位置距離。您最好使用框架,例如jQuery的offset方法,比手動做這個。 (當然,如果你只需要跳到元素而不是直觀滾動,那麼mplungjan's solution是最簡單的。)
這一個是答案。作品完全完美。 – MP123 2010-09-12 06:42:14