我创建了一个带有视差街景的网站。有关存档版本,请参见此处。
它适用于所有主要的桌面浏览器和 Safari Mobile。它也适用于 Mobile Firefox 和 Chrome for Android Beta。但是,默认的 Android 浏览器在滚动事件方面存在问题。让我说清楚。滚动不是问题。div 根据需要滚动。滚动事件不会触发。我在 Honeycomb 和 ICS 上遇到的这个问题。
我不关心其他移动浏览器,因为对于移动屏幕尺寸,通常看不到视差场景;媒体查询和条件 JavaScript 加载会处理这个问题。响应式设计和所有爵士乐。
基本上,我编写了一个 parallise() jQuery 插件,它根据每个图像的位置和“深度”定位每个图像。此函数绑定到滚动事件。
在 Android 浏览器上,此事件仅在下一次 touch 开始时触发,而不是连续触发。
好的,所以我想如果我将函数绑定到touchstart
,touchmove
和touchend
events 我会解决我的问题。没有雪茄。其他触摸事件也被窃听。应用建议的解决方法会导致事件触发,但正如我必须的那样e.preventDefault()
,滚动(练习的重点)被禁用。
如果我只是轮询舞台 div 相对于窗口 div 的位置怎么办?原来,位置信息仅在下一次触摸开始时更新。
我已经走到了尽头。任何帮助将非常感激。