Imiter le défilement natif en utilisant Javascript

Quelles bibliothèques Javascript peuvent être utilisées pour imiter le comportement de défilement natif sur un périphérique IOS (iPad principal) Même les bibliothèques basées sur jQuery seraient bien.

Aussi avant que vous disiez, je sais que le plus commun est iScroll https://github.com/cubiq/iscroll Mais je veux en savoir plus …

Veuillez énumérer autant que vous le pouvez. Merci.

Scrollability par Joe Hewitt est une implémentation récemment développée qui fait un très bon travail consistant à imiter le défilement natif sur les périphériques iOS. Cependant, c'est de son propre aveu un «travail en cours» et non prêt à être utilisé pour la production.

En outre, iOS 5 aura un support de défilement natif direct via le -webkit-overflow-scrolling: touch propriété CSS et la valeur. Définir cela avec un overflow: scroll sur un élément fera que le défilement se comporte comme un défilement d'un panneau dans une application natif: un doigt, un momentum et un comportement de style natif. Fondamentalement, tout ce qui prend un bon morceau de JavaScript peut être remplacé par deux propriétés CSS.

L'inconvénient est que, puisqu'il ne s'agit que de la version iOS beta, il faut encore utiliser un script en tant que réapparition jusqu'à ce que iOS 5 soit courant (non seulement publié), Android l'adopte (et cette version devient grand public), etc. Une reprise pour un bon moment encore.

Vous pouvez obtenir plus de détails sur FunctionSource et sur ce blog . Encore une fois, cela n'est pas utile aujourd'hui, mais sera utile dans les prochains 6 à 12 mois (éventuellement plus long pour d'autres plates-formes).

Ainsi, IOS 5 webkit a maintenant un défilement natif. Mais il y a toujours des problèmes, surtout si vous essayez d'avoir une «application».

L'utilisation de ce CSS active le défilement natif.

 .scrollme { -webkit-overflow-scrolling: touch; overflow:auto; } 

Le problème est que, si vous faites glisser vers le bas lorsque le div est déjà au «haut de la page» de votre conteneur, vous vous retrouvez avec l'intégralité du rebouclage du document html qui peut exposer le Chrome du navigateur lorsque vous ne le désirez pas. Cependant, il existe un pur CSS une solution de contournement (sans javascript). Vous pouvez utiliser un ensemble de 3 divs imbriqués. Avec le 2 externe réglé sur "scrolling: touch", vous pouvez avoir une sensation "native".

Exemple de code ici: https://gist.github.com/1372229

Avec la propriété "position: fixe", cela contribue largement à simplifier les choses.

Voici une liste intéressante de bibliothèques Touch et Touch-Scroll Javascript:

https://github.com/bebraw/jswiki/wiki/Touch