当 window 从中间滚动到底部时 Plax.js 不工作

Plax.js not working when the window scrolled from middle to bottom

您可以在这里 (http://straightupstaging.com.au/uk-caravans/foxtail/) 看到老鹰图像和平面图像与 plax.js 一起正常工作。

但是,当您将浏览器 window 滚动到中间到底部时,鱼的图像无法在 plax.js 下正常工作。

我没有使用过 plax.js 但阅读代码时我发现了以下内容: 第 262 行:

if (!inViewport(layers[0].obj[0].parentNode)) return;

他们似乎会检查您的 plaxify 集合中的第一个元素(在您的例子中是老鹰图像)是否仍在视图中。如果不是,那么它会执行 return;因此不会继续 "animation".

在他们的官方演示中可以看到同样的行为: http://projects.cameronmcefee.com/plax-demo/ 如果您将浏览器 window 变小并向下滚动,它就会停止工作。

我创建了一个 js fiddle,对 if 语句稍作修改,以检查是否有任何层在视图中

var elsInView = false;
$.each(layers, function(k,v) {
    if (inViewport(v.obj[0].parentNode)) {
        elsInView = true;
    }
});
if (!elsInView) return;

http://jsfiddle.net/Lo6qqg6x/1/

或者您可以将其注释掉。希望这有帮助。