不了解在野生动物园工作的js

时间:2012-10-08 10:26:58

标签: javascript jquery

如果写下这个:

        $(document).on("click", function () {
             window.scroll( 0, 70 );
        });

始终有效,但如果写下这个:

        window.onload = function () {
             window.scroll( 0, 70 );
        }

这不适用于safari和chrome的“隐身窗口”。在其他浏览器中工作。 为什么呢?

1 个答案:

答案 0 :(得分:3)

简单来说,主要原因是您绑定的不同浏览器/ dom元素的状态。

在第一个中,您使用jQuery绑定click上的<body/>事件,这可能确保当您实际点击它时body初始化文档并保留足够的滚动以使效果显示给你。

在第二个中,你绑定到窗口的onload事件,它实际上在body可能已加载之前触发,或累积了足够的可滚动区域,从而使效果不出现。

理想的技术是使用

$(document).ready(function() {
    window.scrollTo(0,70);
});