Performance nécessite un minimum de code
Plugins et les bibliothèques doivent être pour être aussi flexible et générale que possible, afin de résoudre de nombreux problèmes connexes. Cela signifie qu'ils seront toujours plus volumineux que nécessaire, ce qui aura une incidence sur les performances. Cela signifie également que vous n'aurez jamais à maintenir ce code. C'est le compromis.
Si la performance est votre objectif, construisez-le vous-même.
Puisque TOUT ce dont vous avez besoin est une détection par pull-down, construisez un simple détecteur de balayage. Bien sûr, vous devrez l'adapter à vos besoins et aux propriétés de l'événement, aux déclencheurs d'événements du système d'exploitation et du navigateur que vous ciblez.
simplifié de mon ancien js-minimal-swipe-detect
var pStart = {x: 0, y:0};
var pStop = {x:0, y:0};
function swipeStart(e) {
if (typeof e['targetTouches'] !== "undefined"){
var touch = e.targetTouches[0];
pStart.x = touch.screenX;
pStart.y = touch.screenY;
} else {
pStart.x = e.screenX;
pStart.y = e.screenY;
}
}
function swipeEnd(e){
if (typeof e['changedTouches'] !== "undefined"){
var touch = e.changedTouches[0];
pStop.x = touch.screenX;
pStop.y = touch.screenY;
} else {
pStop.x = e.screenX;
pStop.y = e.screenY;
}
swipeCheck();
}
function swipeCheck(){
var changeY = pStart.y - pStop.y;
var changeX = pStart.x - pStop.x;
if (isPullDown(changeY, changeX)) {
alert('Swipe Down!');
}
}
function isPullDown(dY, dX) {
// methods of checking slope, length, direction of line created by swipe action
return dY < 0 && (
(Math.abs(dX) <= 100 && Math.abs(dY) >= 300)
|| (Math.abs(dX)/Math.abs(dY) <= 0.3 && dY >= 60)
);
}
document.addEventListener('touchstart', function(e){ swipeStart(e); }, false);
document.addEventListener('touchend', function(e){ swipeEnd(e); }, false);
'ne sont pas en cours d'exécution fast' dans quel sens? ne tirez pas assez souvent? la traction prend trop de temps? si ce dernier, les chances sont le matériel est le problème –
Il saute toujours un peu. Pas 100% sentiment natif. – Peter
si vous voulez, ne pas entrer dans une grande partie du code, vous pouvez mettre en œuvre balayez geste listner – GeekWithGlasses