2012-03-07 89 views
1

我正在使用javascript的視差效果,但我遇到了與iPad有關的問題。iPad視差閃爍

我知道了「$(窗口).scroll」則不會觸發WebKit的觸摸devides - 只有當我們發佈屏幕 - 所以我使用:

window.addEventListener("touchmove", triggerScroll, false); 

function triggerScroll(event) 
{  
var scrollTop = $(window).scrollTop();//event.touches[0].pageY; //window.pageYOffset(); 


$("#allCanvas .divCanvas").each(function(index, element) { 
    var speed = $(element).data('speed'); 
    var initialTop = $(element).data('initialtop');  
    $(element).css('top', initialTop-(scrollTop*speed)); 

}); 

} 

的問題是,它的閃爍.div在頂部或底部添加幾個像素,具體取決於我是向上還是向下滾動。我跟蹤了傳遞給$(element).css('top',initialTop-(scrollTop * speed))的頂層值。每一次都是正確的。儘管webkit將它移動了幾個毫秒到錯誤的位置,但它仍然是正確的「TOP」值。

我也試過: - 「margin-top」而不是「top」沒有區別。 - 刪除所有其他對象,並通過一個div創建「.each」循環,所以我想這不是一個jQuery性能問題。

有沒有人遇到過這個問題?

非常感謝 迭戈

回答