jquery - 尝试用 jQuery 实现滚动惯性

标签 jquery mobile-safari jquery-events touchscreen

我正在尝试向只能在 iPad 上查看的网页添加一些 iPhone 风格的滚动惯性。

我可以在一个方向上滚动(scrollLeft),但在另一方向上则不起作用。这是一个非常简单的函数:

function onTouchEnd(event){
                event.preventDefault();
                inertia = (oldMoveX - touchMoveX);
                
                // Inertia Stuff
                if( Math.abs(inertia) > 10 ){

                    $("#feedback").html(inertia);
                    
                    $("#container").animate({
                        'scrollLeft': $("#container").scrollLeft() + (inertia * 10)
                    }, inertia * 20);
                    
                }else{
                    
                    $("#feedback").html("No Inertia");
                    
                }
                
            }

我已将其绑定(bind)到主体上的 touchend 事件。惯性是触摸结束时旧的 moveX 位置与最新的 moveX 位置之间的差异。

然后,我尝试为包含一堆缩略图的 div 的 scrollLeft 属性设置动画。正如我所说,这在向左滚动时有效,但在向右滚动时无效。

有什么想法吗?

最佳答案

“animate(...)”的第二个参数是持续时间,不能为负数。

尝试:

...
$("#container").animate({
      'scrollLeft': $("#container").scrollLeft() + (inertia * 10)
   }, Math.abs(inertia * 20));
...

关于jquery - 尝试用 jQuery 实现滚动惯性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2682396/

相关文章:

javascript - jQuery $(event.target) 在控制台中返回 DOM,而不是 HTML

javascript - 单选按钮 html 缺少 checked 属性,尽管 Firebug 指示它已被选中

javascript - 实现自动完成时出现 "this.source is not a function"错误

php - 如何获取点击字段的信息

iphone - 我应该购买一台 Mac 来开发或测试我的 iPhone Web 应用程序吗?

ios - HTML5 视频 iOS 播放按钮消失

ipad - 如何使 iPad 上 HTML5 视频侧面的黑条消失?

jquery - 如何使用 jQuery 根据 CSV 列表中的 id 对 div 元素进行排序?

javascript - 验证并提交表单后,重置表单+更改一些CSS样式

单击删除图标时,JQuery 代码不会删除关联的动态添加的字段