2013-03-29 46 views
0

我使用的是'如果别人的瓦特/ jQuery和我有麻烦搞清楚如何正确地在第二填(即scrollTop的)条件 -jQuery的使用scrollTop的范围内,如果其他条件

$(window).load(function(){ 
    if (window.location.hash == '' && $(window).scrollTop() == 0) { 

     doStuff_01(''); 

    } else { 
     doStuff_02(''); 
    } 
}); 

这用于动画页面输入。如果用户刚刚出现在那里,它应该关闭动物。但是,如果用户已经出现, 向下滚动一点,并点击“刷新”,它不应该触发 的动作。

我怎样写:

如果window.location.hash == ''

'的窗口已经被至少1px的' <向下滚动 - 这是避开我的一个。

我应该甚至使用.scrollTop()吗?

回答

0

窗口已经被至少1px的

向下滚动可以在代码中表示为

if($(window).scrollTop() > 0) { 
    ... 
} 
+0

在我看来,这是.scrollTop一个动作,因此,使用它作为一种条件是行不通的。我需要找到一种替代的方式来说,“当页面加载时,如果历史记录回顾页面尚未滚动,请继续。” – Greta

+0

@Greta - 'scrollTop()'只有在使用参数调用时才是*动作*。没有参数,它纯粹是一个* getter *,它返回当前的滚动顶值 - 并且可以在条件中使用。 – techfoobar

+0

好的,谢谢。所以这可以使用。为什么这不起作用令人困惑。刷新页面时,浏览器会记住您向下滚动的距离。它并不强迫你回到零/顶部。 – Greta