JS scroll事件(UI)

xiaoxiao2021-02-28  95

虽然 scroll 事件是在 window 对象上发生的,但它实际表示的则是页面中相应元素的变化。在混 杂模式下,可以通过 <body>元素的 scrollLeft 和 scrollTop 来监控到这一变化;而在标准模式下, 除 Safari 之外的所有浏览器都会通过 <html>元素来反映这一变化(Safari 仍然基于 <body> 跟踪滚动位 置),如下面的例子所示:

EventUtil.addHandler(window, "scroll", function(event){ if (document.compatMode == "CSS1Compat"){ alert(document.documentElement.scrollTop); } else { alert(document.body.scrollTop); } });

以上代码指定的事件处理程序会输出页面的垂直滚动位置——根据呈现模式不同使用了不同的元 素。由于 Safari 3.1 之前的版本不支持 document.compatMode ,因此旧版本的浏览器就会满足第二个 条件。 与 resize 事件类似, scroll 事件也会在文档被滚动期间重复被触发,所以有必要尽量保持事件 处理程序的代码简单。

转载请注明原文地址: https://www.6miu.com/read-40745.html

最新回复(0)