我正在使用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