所以,我已经建立了滚动监听器:移动Safari浏览器:window.pageYOffset/scrollY似乎忽略了导航栏的高度,即使它滚动
window.onscroll = function(){
alert(window.pageYOffset); // have also tested with window.scrollY
}
而且,正如所料,我得到我的警示,一旦滚动完成。我有调试控制台,为此关闭,以便在移动浏览器中不添加任何额外的空间,因此执行alert()而不是console.log()。现在
,我也是这样做的onload:
setTimeout(function()
{
window.scrollTo(0, 0);
}, 33);
而且,正如所料,在导航栏隐藏的负载。我试着在没有超时的情况下执行window.scrollTo(),直到添加了超时值才失败。无论如何,这不是问题。我的导航栏隐藏,这是我想要的。
所以,现在,我有我的视口移至0,0和和警示射击滚动,我希望那种拖我的手指向下的动作(向上滚动)揭示导航栏会告诉我该窗口。 pageOffsetY < 0或window.scrollY是< 0.情况并非如此。相反,在这两种情况下,我的警报都会告诉我0,尽管我已经向上滚动显示浏览器导航栏的60px(视网膜上120px)。
我的问题是:有没有办法告诉你是否滚动到导航栏空间?
这样做的最终目的是让东西始终位于底部。除了当我开始进入导航栏滚动空间时,我的元素正在滚动空间,因为移动Safari浏览器将scrollY/pageYOffset报告为0,即使发生了更多滚动操作。
当我开发MobileSafari我用`document.title`进行调试。 :D – Thai 2011-01-12 16:55:50