- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
想象一个移动网页,页面顶部有一个导航栏。
使用 javascript/jQuery 我希望能够检测用户何时滚动“超过”屏幕顶部。
让我试着解释一下:假设网页刚刚加载,您会在屏幕的最顶部看到导航栏。现在,您将手指放在屏幕上并向下 拖动。在 iPhone 上,这看起来像:
我正在寻找类似于以下内容的内容:
$(document).ready(function () {
$(window).scroll(function (event) {
var y = $(this).scrollTop();
if(y < -20)) {
//do something
}
不幸的是,这在 Android 手机上不起作用,因为它们不具有与 iPhone 相同的弹性行为:
最佳答案
那么,让我们先从坏消息说起:无法在 native 获取您想要的信息。为什么?因为一旦您进入“弹性”区域,您就会向下拖动整个 webview 组件,而不是像您的伪代码中那样仅仅拖动文档的内容。
这实际上意味着什么?仿真或 native 包装
因此您必须运行自己的解决方案,并且必须做出几个选择。首先,如果您希望使用弹性滚动,您应该注意这是 Apple Inc. 的专利 US7469381 B2
。 .请仔细阅读此专利,以确保您不会侵权(即使您构建的是仅限 iOS 的应用程序,这也不会改变任何内容)。
其次,问题是您是否真的想模仿原生体验。由于 1) 认为它永远不够完美,并且 2) 随着操作系统和浏览器的更改,您的代码将保持过时状态,因此看起来很糟糕/怪异,甚至可能会导致完全意外的行为/组合。
其次,您必须决定是希望在 Android 上获得相同的弹性行为,还是希望在 Android 上提供更原生的体验。就我个人而言,我认为它会带来一些出色的用户体验,因此我不会明确反对您使用弹性效果,但是您应该仔细考虑这一点。
大多数提供与您想要的类似模拟的脚本都是“拉动刷新”脚本。根据您的具体愿望,您应该简单地使用其中一个脚本并更改它们或使用一些 CSS 将消息隐藏在其中。
Hook.js - 不完美模拟原生体验并使用旧的 iOS 背景,但仍然是一个不错的选择,只需使用即可隐藏微调器
.hook-spinner{
display:none;
}
iScroll.js - 非常完善的代码并且表现出色。缺点是它提供的内容比您正在寻找的要多得多,这可能是好事也可能是坏事。您可以找到下拉刷新行为的示例实现 here ,但请注意它是针对旧版本的 iScroll,在上一个版本中该示例似乎尚未实现,但应该非常相似。只需查看代码即可了解如何删除下拉刷新消息。
jQuery scrollz - 多一种选择。好像可以媲美hook.js ,但也有一些类似 iScroll 的功能。您可以通过使用空 HTML 字符串指定 pullHeaderHTML
来“删除”消息。
我相信您不想做的另一种选择是将您的应用程序作为 native 应用程序分发,例如 bundle 在 phonegap 中,但为了完整起见我确实想添加。然而,要实现这一点,需要对 phonegap 代码本身进行大量更改,这不是一种可取的方法(我曾经开发过一个 phonegap 应用程序,使用 native 组件和“围绕”它的交互触发各种 javascript 事件,尽管可行并呈现某些优点,这不是我的建议)。
关于javascript - 在手机上,当用户滚动屏幕顶部 "past"时检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23894632/
在 firefox 中,链接手形光标显示正常,但在 IE7 中显示文本光标。 如何在所有浏览器的链接上获得相同的光标(手)? 我可以在 CSS 重置中添加一些内容,以便在所有浏览器中的链接上获取光标吗
我试图在表单元素上方显示我的表单标签,所以我在我的 CSS 中使用了 display:block。但是,我无法通过这种方式每行显示超过 1 个表单元素。 如何正确更新我的 CSS 以在表单元素上方显示
我想找到人手的宽度,但卡在手上的洞上。 我有一只手的图片并找到了它的二进制文件。手上有一个圆圈,其半径和中心已知(引用对象)。我想找到手的宽度,但它上面有一些补丁(孔),这阻碍了找到手的最佳宽度。 这
我尝试为一款游戏制作一个机器人,但他们有很酷的反像素机器人技术。 所以我想,“如果我可以制作一个机器人,只检查光标是否变为手形然后单击,它就会起作用,”因为我需要收集奖金盒,当你将光标指向它时,它变为
我尝试为一款游戏制作一个机器人,但他们有很酷的反像素机器人技术。 所以我想,“如果我可以制作一个机器人,只检查光标是否变为手形然后单击,它就会起作用,”因为我需要收集奖金盒,当你将光标指向它时,它变为
所以我有一副牌的代码,但我不知道如何让另一个类来处理 4 手牌,每手 10 张牌。另一类应在屏幕上以文字形式打印 4 手 10 张随机卡片。有人可以向我展示如何完成此任务的代码吗?我也使用 blueJ
我正在尝试通过在开放正方形内插入图标来使用 fontawesome 创建图标。悬停时,我想更改正方形内背景的颜色,以及正方形的实际颜色和图标颜色。 我在这里举了一个例子:http://jsfiddle
当我手动启 Action 业时,我正在寻找设置变量的正确方法。 我试过 : stages: - test my_job: stage: test script: - echo "H
我必须添加以下代码: a {cursor:pointer;} 在 angular-ui-bootstrap 中将光标更改为标签、分页、下拉切换等链接上的指针/手。 为什么默认不改为指针?这是故意的吗?
我是一名优秀的程序员,十分优秀!