Attualmente sto sviluppando una pagina Web per un iPhone che contiene un elemento DIV che l'utente può toccare e trascinare. Inoltre, quando l'utente trascina l'elemento nella parte superiore o inferiore dello schermo del dispositivo, voglio scorrere automaticamente la pagina verso l'alto o verso il basso.iOS tocca alla vista del dispositivo x/y coordinate via Javascript
Il problema che sto riscontrando è cercare di determinare una formula affidabile per ottenere le coordinate nell'evento onTouchMove che corrispondono al dito dell'utente che raggiunge la parte superiore o inferiore della finestra del dispositivo. La mia formula attuale sembra noiosa e credo che ci possa essere un modo più semplice per farlo.
La mia formula attuale per determinare se l'evento di tocco ha raggiunto la parte inferiore dello schermo:
function onTouchMoveHandler(e)
{
var orientation=parent.window.orientation;
var landscape=(orientation==0 || orientation==180)?true:false;
var touchoffsety=(!landscape?screen.height - (screen.height - screen.availHeight):screen.width - (screen.width - screen.availWidth)) - e.touches[0].screenY + (window.pageYOffset * .8);
if(touchoffsety < 40) alert('finger is heading off the bottom of the screen');
}
Ho fatto un po 'di Javascript riflessione su oggetti come le finestre, documenti, corpo, e.touches per vedere se potessi trovare una serie di numeri che equivarrebbe sempre ad essere uguale alla parte superiore o inferiore dello schermo, ma senza successo affidabile. Aiutare con questo sarebbe molto apprezzato.
Ecco un collegamento con una spiegazione approfondita di diverse piattaforme mobili e variabili Javascript che descrivono le dimensioni del viewport e quanto possono differire l'una dall'altra. Questo mi ha aiutato a trovare la risposta: http://tripleodeon.com/2011/12/first-understand-your-screen/ – Brain2000