Изменение атрибута данных тела с помощью 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();