自动滚动到目标,iOS 中的 jQuery 运行得太远
scroll automatically to target with jQuery in iOS running too far
我有一个锚点,当单击时,我会触发以下jQuery:
$(document).on('pageinit', function (event, ui) {
var page = $(event.target);
page.find('a.course_name').on('vclick', function() {
page.stop().animate({ scrollTop : $(this).offset().top }, 400);
}
}
我在运行iOS 5的iPhone 6上发现的是,滚动的动画并没有像我想要的那样停在锚点的顶部。它有时会短暂停止,或者根据我之前在页面中滚动到的内容而运行。
我也在使用jQuery Mobile,但本质上page
变量是可滚动区域。
我不知道您的HTML标记或CSS样式,但根据它,position
可以返回与offset
不同的结果。
试试用position()
page.stop().animate({ scrollTop : $(this).position().top }, 400);
相关文章:
- 对动态创建的元素运行jQuery.ech()
- 如何在加载角度函数后运行jQuery代码
- 在AJAX jQuery加载()之后运行jQuery代码
- 如何仅在设备基于 iOS 时运行 jQuery 代码
- 使用 .on 函数运行 jQuery 声明函数
- html代码没有运行jquery问题
- 仅在尚未运行jQuery UI的情况下运行动画
- 在运行jquery之前从5开始倒计时
- 在不重新运行jquery验证的情况下检查表单是否有效
- 在Angular App中运行jQuery函数
- 一旦设置了PHP查询字符串,如何运行jQuery脚本
- 如何在Ember中更改模板时运行JQuery代码
- 如果URL包含字符串don't运行jQuery函数
- 在php之前运行jQuery脚本
- 无法动态地将 jquery 添加到头部并运行 jquery 代码
- 在 HTML 中运行 jquery 脚本
- 如何在控制器外部和视图内在 AngularJs 中运行 jQuery
- 在具有相同类的每个表上运行 jquery
- 在 Angular 完成渲染后运行 JQuery 代码
- 如何选择当前 DIV ID 以使用该 ID 运行 Jquery