使相对位置像iphone上的固定位置一样工作

时间:2014-09-26 09:33:32

标签: javascript jquery css fixed relative

我有这个顶级导航栏:

<div id="nav">My nav</div>

我使用此javascript代码将其固定在顶部:

$(window).scroll(function() {
    $('#nav').css({ top: $(window).scrollTop() });
})

我的iphone出现问题,因为当我向下滚动导航设备时,当我从触摸屏上取下手指时导航再次出现。

我尝试使用touchstart,touchmove和touchend事件在导航的固定/相对位置之间触发,但它仍然无法正常工作。 (事情是,当我不用手指触摸屏幕时,导航应该是相对的)

有没有其他方法可以在不使用固定位置的情况下修复此问题?

1 个答案:

答案 0 :(得分:0)

滚动时导航会消失,因为在触摸设备上,它只会在您放开滚动时计算scrollTop。与js处理粘性导航相同。 你试过吗

position :sticky;
top:0;

我用它作为iphone上位置固定/ js定位的后备, 和你一样的原因。