iFrame/Javascript 鼠标加速中的 Javascript iPhone 滚动效果

标签 javascript jquery iphone iframe acceleration

我正在尝试使用 JavaScript 在窗口中重新创建 iPhone 轻弹/滚动事件。

从 JQuery 开始,我使用计时器测量鼠标在单击 - 拖动 - 释放事件期间的加速度和偏移量:

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);

});

现在的问题是将加速度转化为屏幕移动 - 是否有任何算法(缓动?)或动画库可以帮助我解决这个问题? (我研究了 JQuery 的 .animate() 但我不确定如何在拖动事件期间连续应用它!

更新 - 此处为最终解决方案:

http://johnboxall.github.com/iphone.html

最佳答案

这是我在寻找动力学/动量滚动库时发现的:

关于iFrame/Javascript 鼠标加速中的 Javascript iPhone 滚动效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/379917/

相关文章:

javascript - 单击时旋转/动画光标 -45 度?

javascript - 包含在 ng 重复中

javascript - Sails.js - 如何将 js 文件注入(inject)特定路线?

javascript - AJAX:responseXML 返回 null,但 ResponseText 将 XML 作为字符串返回

javascript - 将多个 Backbone View $el 合并到一个 jQuery 对象中

iphone - 从 NSTimer 访问 NSArray 间隔 = EXC_BAD_ACCESS

javascript - 如何在 Javascript 的帮助下将图像拖放到同一 block 中?

javascript - 设置 ctrl + keydown 事件监听器时出现问题(未检测到)

iphone - 如何在 MapView 上绘制 MKPolyline?

ios - MAUI iOS 部署 'There was an error while trying to automatically provision the project'