Aar*_*ron 10 javascript jquery dom javascript-events
我有一些javascript可以出现在许多不同的页面上.有时这些页面是通过包含锚引用的URL访问的(例如#comment-100).在那些情况下,我希望javascript延迟执行,直到窗口跳转.现在我只是使用延迟,但这非常hackish,显然在所有情况下都不起作用.我似乎无法找到任何与窗口"跳转"相对应的DOM事件.
除了简单的延迟之外,我提出的唯一解决方案是让JS在URL中寻找锚点,如果找到了,请注意scrollTop中的更改.但这似乎有些错误,而且我不能100%确定我的脚本在滚动发生之前总会被触发,因此只有在用户手动滚动页面时它才会运行.无论如何,我真的不喜欢这个解决方案而且更喜欢更多事件驱动的东西.有什么建议?
编辑澄清:
我不是想检测哈希变化.请看以下示例:
我正在尝试可靠地检测第5步发生的时间.
看来你可以使用window.onscroll. 我刚才测试了这段代码:
<a name="end" />
<script type="text/javascript">
window.onscroll = function (e) {
alert("scrolled");
}
</script>
Run Code Online (Sandbox Code Playgroud)
这似乎有效。
编辑:嗯,它在 IE8 中不起作用。不过它在 Firefox 和 Chrome 中都可以工作。
编辑:jQuery 有一个.scroll()处理程序,但它在 IE 上滚动之前触发,并且似乎不适用于 Chrome 或 Firefox。
| 归档时间: |
|
| 查看次数: |
1926 次 |
| 最近记录: |