Обновление скроллра динамически

Я ищу способ динамического обновления значений абсолютной позиции скроллра. Относительное расположение не может быть и речи, так как тег body является родительским элементом и расширяет всю длину страницы. Рассматриваемый объект имеет фиксированное положение внутри тега body.

1) Есть ли способ динамически обновлять абсолютные значения элемента без необходимости повторной создания всего плагина? Например, изменив "data-8000-start" на "data-9000-start". Использование jQuery для их обновления кажется немного неадекватным.

2) Использование констант, казалось, почти привело меня туда, но, как уже отмечалось, требует, чтобы я повторно создал плагин. Есть ли способ передать константу, подобную этой, в метод обновления?

2 ответа

Решение

Позвольте мне начать с того, чтобы поблагодарить @Prinzhorn за этот удивительный инструмент. Это действительно хороший кусок и был огромным преимуществом. Ранее я создавал индивидуальные решения для такого рода вещей, но это действительно добавляет элемент легкости.

Похоже, что сейчас нет поддерживаемого метода динамического обновления атрибутов данных с помощью Skrollr. Но, как отмечено в комментарии выше, есть запрос на это. Однако мне удалось взломать что-то вместе, что довольно неэффективно. Я выполнил это действие только при изменении размера, чтобы оно использовалось как можно меньше.

  1. Я использовал JS, чтобы удалить все атрибуты элемента. Это кажется ужасно несоответствующим, но любые попытки просто удалить атрибуты данных не работали вообще.
  2. Я добавил необходимые атрибуты обратно, которые были удалены. Затем изменил мои динамические значения и применил новые атрибуты данных.
  3. Наконец, я сделал обновленный вызов Skrollr и применил его только к обновленному элементу. Это помогло обеспечить обновление только необходимых частей.

Просто чтобы обновить принятый ответ, прямо сейчас вам нужно изменить его динамически, а затем использовать метод обновления:

var sk = skrollr.init();
sk.refresh();
Другие вопросы по тегам