关于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,而对于宽度,则没问题。
为什么会这样?它不应该是视口的高度,而不是从文档顶部到底部的高度吗?
有解决方法吗?
答案 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">