Effet Scroll de l'iPhone Javascript dans une accélération iFrame / Javascript de la souris
J'essaie de recréer l'iPhone flick /événement scroll dans une fenêtre à l'aide de JavaScript.
De départ avec JQuery, je suis en mesure de la souris de l'accélération et du décalage en cliquer - glisser la libération des événements à 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 est que la traduction de l'accélération, en mouvements à l'écran - il des algorithmes (assouplissement?) ou l'animation des bibliothèques qui pourrait m'aider sur ce point? (J'ai regardé dans JQuery .animate (), mais je ne suis pas sûr de la façon de l'appliquer en permanence pendant les événements de glisser!
Mise à jour de finale de la solution ici:
http://johnboxall.github.com/iphone.html
source d'informationauteur jb. | 2008-12-19
Vous devez vous connecter pour publier un commentaire.
Frapper jusqu'à ce lien pour l'explication complète d'une approche qui semble être ce que vous cherchez.
http://www.faqts.com/knowledge_base/view.phtml/aid/14742/fid/53
Voici un extrait:
Et certains de l'auteur du code:
Voici ce que j'ai trouvé lors de la recherche de cinétique/défilement dynamique des bibliothèques:
Vous pourriez être intéressé par le plugin jQuery nommé overscroll:
http://www.azoffdesign.com/overscroll (Page GitHub)