当图像超出限制时停止视差效果
Stop parallax efect when image goes out of limits
我正在使用stellar.js来调整视差。它工作正常,但我认为一个很好的改进是,当图像的顶部或底部边界超出限制时(你可以看到图像边缘),它可以被检测到,所以当这种情况发生时,视差效应应该停止,图像的滚动速度等于滚动速度。所以你永远不会看到任何图像边缘,或者在使用的情况下看到任何图像重复(背景重复:重复;)我真的不知道如何实现这一点。如果有人能帮我,那就太好了。
您可以使用getBoundingClientRect检查图像是否到达另一个元素的顶部或底部,它会为您提供一个对象,通知元素侧面相对于视口的绝对坐标。
假设这种布局:
topEl
+----------------+
____________________
| image |
____________________
+----------------+
bottomEl
JavaScript:
var imageRect = image.getBoundingClientRect();
var topElRect = topEl.getBoundingClientRect();
var bottomElRect = bottomEl.getBoundingClientRect();
if (imageRect.top >= topElRect.bottom ||
imageRect.bottom <= bottomElRect.top) {
// Stop scrolling
}
如果您想要更精确的解释,请随时更新更多细节。
相关文章:
- 使用javascript应用视差效果时,图像会发生抖动
- 避免在视差滚动效果中对图像进行不必要的缩放
- 创建堆叠图像视差
- 卷轴上的视差图像和粘滞标题无法正常工作
- 视差'背景图像/位置/附件'jQuery的动画很不稳定
- 无法更改使用视差滚动的图像宽度
- 将视差与图像幻灯片一起使用
- 视差滚动图像超出视野
- 具有多个总部背景图像的视差网页的预加载器
- 视差滚动背景图像自动放大和缩小
- 当图像超出限制时停止视差效果
- 视差滚动图像通过徽标透明度
- 使用滚动在视差上淡出背景图像
- 为容器中的非全宽图像创建视差效果
- 视差浮动图像库
- 视差背景没有'不起作用(只有一个图像)
- 视差图像对我不起作用
- 为什么我的图像在执行这个视差脚本时跳了几个像素
- 视差图像过多
- 视差图像滚动不起作用