我们使用以下例程从固定的水平导航栏滚动到屏幕上的特定点。
例程需要OFFSET来防止我们滚动的部分消失在高度为50px的固定水平导航栏后面:
$('.scroll1')
.on('click touch',
function(){
var offset = ($(window).height()/2)-50;
$('#kapitel1').animatedScroll({duration: 3000, easing: 'easeOutExpo'},{left: 0, top: offset});
})
这样可以正常工作,但有一个例外:根据地址栏是否显示,我们需要两个不同的OFFSET值。
此问题的大多数解决方案都依赖于完全隐藏iPhone地址栏。一种常见的方法似乎是:
window.scrollTo(0,0)
然而,当用户滚动回到屏幕顶部时,地址栏 - 当然 - 会重新出现。
我们需要一个能够检测地址栏当前是否显示的解决方案。我们正在考虑检测屏幕的高度可能会有所帮助:
if(($(window).height()>??px){
var offset = ($(window).height()/2)-50;
}else{
var offset = ($(window).height()/2)+10; //account for 60px address bar
}
但这不起作用。
关于我们如何简单可靠地检测地址栏当前是否显示的任何想法?
非常感谢您的任何帮助!