Как я могу изменить свойство стиля, когда активна заливка Janascript .animate ()? - PullRequest
0 голосов
/ 29 октября 2019

У меня есть наблюдатель мутации, который ищет изменения в определенном элементе и затухает после некоторой задержки. Заполнение анимации установлено в «вперед», чтобы текст не отображался после затухания. Однако в первый раз, когда он работает как брелок, в следующий раз, когда сработает наблюдатель, атрибут непрозрачности откажется изменить - или, если быть точным, непрозрачность элемента фактически никогда не изменялась, но я полагаю, что свойство fill сохраняет воспринимаемую непрозрачность на уровне0.

this.observer = new MutationObserver(function(mutations){
  mutations[0].target.style.opacity = 1;
  mutations[0].target.animate([
    {opacity: 1},
    {opacity: 0}
  ], {
    fill: 'forwards',
    duration: 1000,
    delay: 3000
  });
});

this.observer.observe(this.output, {childList: true});  // this.output is the observed element

Подводя итог, я хочу, чтобы фрагмент показал строку сразу после того, как я изменил innerHTML элемента в другом месте, и постепенно исчезнул через 3 секунды. Прямо сейчас, во время второго запуска наблюдателя элемент остается прозрачным и появляется только в начале анимации, только для немедленного исчезновения. Мне интересно, смогу ли я как-нибудь остановить заливку анимации, но я с радостью приму любое решение этой проблемы (пока это простой JavaScript, я знаю, что это легко разрешимо с помощью jQuery, но я хочу, чтобы этот фрагмент был настолько переносимымнасколько это возможно).

...