J'essaie de recréer l'événement flick/scroll iPhone dans une fenêtre en utilisant JavaScript.JavaScript Effet de défilement de l'iPhone dans une accélération de souris iFrame/Javascript
A partir de JQuery, je mesure l'accélération de la souris et du décalage en un clic - glisser - des événements de relâchement à l'aide d'une minuterie:
var MouseY = {
init: function(context) {
var self = this;
self._context = context || window
self._down = false;
self._now = 0;
self._last = 0;
self._offset = 0;
self._timer = 0;
self._acceleration = 0;
$(self._context).mousedown(function() {self._down = true;});
$(self._context).mouseup(function() {self._down = false;});
$(self._context).mousemove(function(e) {self.move(e);});
},
move: function(e) {
var self = this;
self._timer++;
self._last = self._now;
self._now = e.clientY + window.document.body.scrollTop;
self._offset = self._now - self._last;
self._acceleration = self._offset/self._timer;
},
reset: function() {
this._offset = 0;
this._acceleration = 0;
this._timer = 0;
}
};
$(function() {
MouseY.init();
setInterval(function() {
$('#info').html(
'_acceleration:' + MouseY._acceleration + '<br />' +
'_now:' + MouseY._now + '<br />' +
'_offset:' + MouseY._offset + '<br />' +
'_timer:' + MouseY._timer + '<br />'
);
MouseY.reset();
}, 10);
});
Maintenant, le problème se traduit par cette accélération dans le mouvement de l'écran - sont-il des algorithmes (assouplissement?) ou des bibliothèques d'animation qui pourraient m'aider à ce sujet? (Je l'ai regardé dans le .animate de JQuery() mais je ne suis pas sûr de la façon de l'appliquer de façon continue pendant les événements de drag
Mise à jour - solution finale ici:
http://johnboxall.github.com/iphone.html
Avec l'aide de la réponse que je l'ai celui-ci plus ou moins résolu: http://johnboxall.github.com/iphone .html –