【发布时间】:2015-11-12 01:17:42
【问题描述】:
我需要达到的目标可以在this demo看到。
基本上是一个带有矩形区域的页面,您可以通过向下滚动到达该区域,其中的内容看起来好像是一个位置:固定元素。在上面的演示中,显示的内容是通过 iframe 显示的页面 - 我很满意只是一张图片。
我只需要它在 iOS 8 上工作。据我所知,演示是通过一些自定义滚动机制来实现的。我怀疑他们以某种方式完全覆盖了滚动 - 尽管我无法确认它是像 iScroll 这样的自定义滚动框架。
我自己的方法是通过 onscroll 处理程序重新定位剪辑:在位置:固定背景图像上的矩形区域。有点像在图像上移动蒙版。 Example here
我在我的 JS onscroll 处理程序中使用的代码来重新定位剪切矩形:
topY = adDiv.getBoundingClientRect().top + window.pageYOffset - adDiv.ownerDocument.documentElement.clientTop;
scrollT = (document.documentElement && document.documentElement.scrollTop) || document.body.scrollTop;
newY = topY - scrollT;
newHeight = rectHeight + newY;
document.getElementById("bgImg").style.clip = "rect("+newY+"px,1900px,"+newHeight+"px,0px)";
如果在重新定位剪辑时没有延迟,我会很高兴:矩形区域;如果您在任何 iOS 8 上进行测试,您就可以看到它(当您在显示图像的区域上下滚动/滑动时会有轻微的延迟)。无法克服这一点,并担心这是设计使然。
编辑:请注意,我需要将显示区域上方和下方的内容透明化;所以有一个透明的背景,可以让你看到页面的背景;上面和下面都不能乱七八糟。
【问题讨论】:
-
带有问题延迟错误描述的快照:link
标签: javascript jquery html ios css