2012-07-05 58 views
0

我有非常大的內容(很多圖片)。我想使用css3轉換轉換。 我綁定touchmove事件,並計算新的x位置。jquery touchmove事件和非常大的內容

但我有問題:由x的位置不會在手機上平穩地變化(在桌面上都可以)。 事件觸摸帶有延遲。

我嘗試hidde不使用內容(vissability:hidden)它沒有幫助。

回答

1

嘗試調節事件處理程序進行更改的速度。這是違反直覺的,但通過放慢速度,你會讓它們看起來更快。 touchmove事件非常快地發射,遠快於屏幕的刷新率。

理想情況下,您可以使用requestAnimationFrame來做到這一點。

或者如果這對您的口味來說太過實驗,那麼確保您沒有比每秒60幀(每1000/60毫秒1次事件處理程序操作,屏幕刷新率)執行的事件處理程序操作更快。如果您在1000/60毫秒時仍有問題,請嘗試較慢的速率。視頻的幀速率是每秒30幀。 30至60幀之間的東西應該看起來不錯。

所以看起來像這樣:

var lastFrameTime; 
var myTouchMoveHandler = function (e) { 
    var now = Date.now(); 
    if (now < lastFrameTime + 1000/60) { 
     return; 
    } 
    // your event handler code afterward 
    // ... 
    // then update the lastFrameTime 
    lastFrameTime = now; 
}