2014-09-26 21 views
3

相對位置,工作等固定位置我有這樣的頂部導航欄中:在iPhone上

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

我把它固定使用這個JavaScript代碼頂部:

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

我有我的iPhone的一個問題因爲當我向下滾動導航失效之後,當我從觸摸屏上取下手指時,導航再次出現。

我試圖使用touchstart,touchmove和touchend事件觸發固定/相對位置之間的導航,但它仍然無法正常工作。 (事情是,當我不用我的手指觸摸屏幕,導航應該是相對的)

是否有任何其他方法來解決這個問題,而不使用位置固定?

+0

我試過了,但它的效果並不順利,它一直在顫抖。另一個問題是,當屏幕繼續向下滾動時,您拖動屏幕並取下手指,意味着touchmove事件不再觸發,導航被遺忘。 – paulalexandru 2014-09-26 10:03:11

+0

你試圖避免使用position有一個特別的原因:fixed;?我相信我正在使用該方法在您的網站(ShoutDRIVE.com)上完成您想要完成的任務,並且它在所有平臺上都能夠順利運行。如果可能的話,我會盡量避免不斷更新頂級屬性。 – 2014-09-30 17:34:56

+0

是的,有一個原因,我試圖避免位置固定。我正在使用另一個插件,一個左側欄女巫將頁面向正確的方向推進,我對固定標題有一些問題。 – paulalexandru 2014-09-30 20:55:06

回答

0

當您滾動時,導航會消失,因爲在觸摸設備上,當您放開滾動時,它只會計算scrollTop。與js一起處理粘滯導航。 你試過

position :sticky; 
top:0; 

我用這個作爲位置固定/ JS positionning在iPhone上, 出於同樣的原因,你回退。