window.addEventListener(‘scroll‘,function(){ if(document.compatMode == "CSS1Compat") { alert(document.documentElement.scrollTop); } else { alert(document.body.scrollTop); } },false);
虽然scroll事件是在window对象上发生的,但它事件表示的则是页面中相应元素的变化。在混杂模式中,可以通过<body>元素的scrollLeft和scrollTop来监控这一变化;在标准模式下,除Safari之外的所有浏览器都会通过<html>元素来反映这一变化(Safari还是基于<body>跟踪位置);
以上代码指定的事件处理程序会输出页面的垂直滚动位置——根据呈现模式不同使用了不同的元素。由于Safari3.1之前的版本不支持document.compatMode,因此旧版本就会满足第二个条件。
时间: 2024-11-05 20:40:19