动态更新skrollr

时间:2013-08-05 18:55:04

标签: javascript scroll parallax scroller javascript-databinding

我正在寻找一种动态更新skrollr绝对位置值的方法。相对定位是不可能的,因为body标签是父元素并且扩展了页面的整个长度。有问题的对象在body标签内是固定位置。

1)有没有办法动态更新元素的绝对值而无需重新实例化整个插件?例如,将“data-8000-start”更改为“data-9000-start”。使用jQuery更新这些似乎有点不足。

2)使用常量似乎几乎让我在那里,但如上所述,要求我重新实例化插件。有没有办法将这样的常量传递给刷新方法呢?

2 个答案:

答案 0 :(得分:1)

首先,我要感谢@Prinzhorn这个神奇的工具。这真是一件好事,并且是一项巨大的资产。我之前已经为此类事物构建了自定义解决方案,但这确实为它增添了一些轻松的元素。

现在看来没有支持使用Skrollr动态更新数据属性的方法。但正如comment above中所述,有一个请求。然而,我设法将一些非常低效的东西放在一起。我只在调整大小时执行了此操作,因此尽可能少地使用它。

  1. 我使用JS从元素中删除所有属性。这看起来非常不利,但是我所做的只是让它删除数据属性的任何尝试都没有起到很好的作用。
  2. 我添加了已删除的必要属性。然后更改了我的动态值并应用了新的数据属性。
  3. 最后,我对Skrollr进行了刷新调用,并仅将其应用于我更新过的元素。这有助于确保只更新必要的部分。

答案 1 :(得分:0)

只需更新接受的答案,现在只需更改其名称,然后使用刷新方法即可:

var sk = skrollr.init();
sk.refresh();