2011-10-04 112 views
7

需要在網頁的頂部顯示一個元素(div)。在滾動期間,元素應該消失並在滾動結束後重新出現。iphone上的頁面滾動時隱藏和顯示div

爲了增加複雜性:

  1. 我們的代碼是來賓代碼(因此我們不能操縱DOM結構等)。
  2. 我們的代碼是爲了用iPhone/iPad(移動Safari瀏覽器)

我們一直在努力,聽取他們對文件/身體touchstart事件,並隱藏在我們的專用處理器的元素(div)工作。但是,在某些站點(當DOM結構變得相當複雜時),滾動響應時間會顯着增加,即使處理程序執行完全是,爲空。

我們正在尋找正確的方式來管理元素(重新)外觀,同時滾動時對用戶體驗的影響最小。

回答

0

在最近的IOS版本(5.x的)固定定位(position:fixed在CSS)的支持流暢,讓你的元素會被放置在屏幕座標。這可能是解決你的麻煩的一個很好的起點。

+0

不能使用鍵盤輸出 – Petah

+0

固定在iOS 6上不可靠... 「注意:只能在Android 2.2+中使用以下元標記:。iOS Safari中的部分支持指的是錯誤行爲。」 --http://caniuse.com/css-fixed – nym

1

我會認爲Javascript是你最好的解決方案。你可以使用document.createElement動態地將你的DIV插入到任何內容中,然後添加一些javascript來監聽onScroll ...

如果你願意,你甚至可以使用由本機代碼構建的自定義HTML來填充DIV。

任何幫助?

+1

'onScroll'處理程序在* scroll之後被調用,在我們的例子中,我們希望在* scroll開始之前隱藏元素*。 – roee

1

我不知道你是否是jQuery用戶,但這個.scroll()函數可以幫助你完成你想要做的事情。看看演示,看看它是如何工作的。

http://api.jquery.com/scroll/

相關問題