document.viewport.getHeight()不准确?

时间:2009-03-14 08:37:15

标签: javascript prototypejs

关于Scriptaculous'Effect.Move的演示,可以找到here

<style type="text/css">
  a#move_demo { background:#fa0000; color:#fff; padding:5px; border:1px solid #000; }
</style>

<div class="demo">
  <a href="#" id="move_demo" onclick="new Effect.Move(this, { x: 60, y: -30 }); return
false;">Click me for a demo!</a>
</div>

使用包含该页面的单个页面,document.viewport.getHeight()返回32,而对于宽度,则没问题。

为什么会这样?它不应该是视口的高度,而不是从文档顶部到底部的高度吗?

有解决方法吗?

1 个答案:

答案 0 :(得分:6)

原来你需要一个正确的DOCTYPE才能使它正常工作,否则Prototype将处于“quirks模式”,它不会让getheight()按预期工作。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">