【问题标题】:Updating skrollr dynamically动态更新 skrollr
【发布时间】:2013-08-05 18:55:04
【问题描述】:

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

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

2) 使用常量似乎几乎可以让我到达那里,但如前所述,需要我重新实例化插件。有没有办法将这样的常量传递给 refresh 方法?

【问题讨论】:

标签: javascript scroll parallax scroller javascript-databinding


【解决方案1】:

首先让我感谢@Prinzhorn 提供了这个神奇的工具。这确实是一件不错的作品,并且一直是一笔巨大的财富。我之前已经为这种事情构建了自定义解决方案,但这确实为它增加了一种轻松的元素。

目前似乎没有支持使用 Skrollr 动态更新数据属性的方法。但正如comment above 中所述,有一个请求。但是,我设法将一些效率很低的东西拼凑在一起。我只在调整大小时执行此操作,因此尽可能少地使用它。

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

【讨论】:

    【解决方案2】:

    只是为了更新接受的答案,现在您只需动态更改它,然后使用刷新方法:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-03
      • 1970-01-01
      • 1970-01-01
      • 2022-01-15
      • 1970-01-01
      • 2011-09-14
      • 2012-01-20
      • 2018-10-13
      相关资源
      最近更新 更多