Изменение атрибута данных тела с помощью jQuery

Я использую skrollr и хочу, чтобы все тело моей страницы меняло цвета / градиенты. Я могу сделать это с моим текущим кодом, который:

<body data-start="background-image:linear-gradient(rgb(4,21,41), rgb(31,16,66));" data-end="background-image:linear-gradient(rgb(31,16,66), rgb(66,16,52));">

Тем не менее, после загрузки iFrame (который запускается при отправке формы), я хочу изменить градиент для тела. Я думал, что изменение data-start значения могут помочь, поэтому я попытался:

<iframe onload="if(submitted)
{$('body').attr('data-start','background-image:linear-gradient(rgb(4,21,41), rgb(31,16,66))'}">

Но это не сработало. Я пробовал другие функции jQuery, которые работают при загрузке iFrame (например, $('#idName').hide()). Но функция.attr(), похоже, не работает, и я думаю, что что-то с skrollr мешает. Я также попробовал функцию.data(), но она тоже не меняет значения данных.

Кто-нибудь знает, как я могу изменить градиент тела после определенного триггера (например, отправив форму)?

1 ответ

Из документации кажется, что refresh следует сделать:

Полезно, когда: ... Атрибуты данных обрабатываются динамически.

var skroll = skrollr.init(/*...*/);

// when needed
skroll.refresh();
Другие вопросы по тегам