2012-10-04 180 views
2

我想爲IOS做一個視差滾動網站,有沒有人有任何想法如何「凍結」屏幕,讓設備識別/反應在一個div內的滾動?IOS滾動網站修復

基本上都需要這樣的事情 - http://jsfiddle.net/9R4hZ/40/到iPad上工作,而視到處移動滾動時店裏..

乾杯 保羅

回答

0

您可以偵聽視格touchmove事件,防止標準滾動行爲,並欺騙按鍵或滾輪事件(例如,通過使用jQuery的.trigger方法)。這將允許您在添加觸摸事件的同時保持當前的滾動功能。

要得到「滾動」正在發生的事情,你可以像這樣的東西開始的方向:

var lastTouch; 
var scrollDirection; 
var viewPort = document.getElementById("view"); 

viewPort.addEventListener('touchmove', function(event) { 

    event.preventDefault(); 

    if (lastTouch < event.targetTouches[0].pageY) { 
     console.log("dragging down"); 
     scrollDirection = "up"; 
     //trigger up arrow keypress? 

    } 
    else if (lastTouch > event.targetTouches[0].pageY) { 
     console.log("dragging up"); 
     scrollDirection = "down"; 
     //trigger down arrow keypress?   
    } 

    lastTouch = event.targetTouches[0].pageY; 
}); 

你可能必須做一些調整多久你解僱你的滾動事件觸發,如touchmove事件可能來得太快。