我正在开发一个使用 [Parallax.js] ( https://github.com/wagerfield/parallax ) 的项目,但有一个我似乎无法解决的问题。文档中没有指示销毁/重新初始化视差。
在文档中,它说应用数据深度将决定应用视差时的深度级别。我的网络应用程序有一个切换按钮,可以更改这些级别,但我无法重新应用新的深度级别并重新应用视差。
我尝试了一些方法,例如第二次应用视差构造函数,但这似乎不起作用。我尝试通过重写 DOM 元素然后应用构造函数来工作,也不起作用。
我尝试将视差对象构造函数分配给一个变量,然后第二次将其置空,但视差要么没有启动,要么没有应用新值。
救命!
最佳答案
今天我遇到了同样的视差问题,在重新生成 DOM 元素后我无法调用 $("#someID").parallax()。但我找到了解决方案,希望它也能帮助你。您需要引用其他脚本(不仅仅是 jquery-parallax.js):
<script src="script/vendor/parallax.js"></script>
之后,在您使用 DOM 的 javascript 文件中。每次操作后调用此:
var pDiv = $('#animations')[0]; //parallax works with DOM elements -> unwrap it from the jquery element
var p = new Parallax(pDiv); //recreate the parallax on the element
此后您无需调用任何其他内容。这对我有用。 我希望这对您来说也是一个很好的解决方案。
关于javascript - 尝试重置 Parallax.js 以处理一些视差情况实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18995124/