MutationObserver完成元素观察后如何调用函数?

时间:2019-07-12 06:11:26

标签: javascript mutation-observers

var observer = new MutationObserver(function(mutations){
                        console.log("here reached")

                    });

var targetNode =  document.getElementbyId("hidenToVisible");

observer.observe(targetNode, { attributes: true, childList: false, characterData: true, attributeOldValue : true });

此处id“ hiddenToVisible”是最初隐藏的元素,我尝试使用jQuery fadeIn“ $(”#hiddenToVisible“)。fadeIn(10000)”使其可见,因此需要10秒钟才能使其正确可见,直到是时候完全看到MutationObserver将触发的元素了,我想在MutationObserver中调用一个函数,但是在fadeIn结束之后应该

有什么办法可以解决?

1 个答案:

答案 0 :(得分:0)

您可以为此使用内置的回调函数jQuery:

"$("#hiddenToVisible").fadeIn(10000, function() {
  console.info('this will fire after 10000ms once fadeIn is complete');
});

您写道您不能使用jQuery,而必须使用javascript。 jQuery是javascript,但这是另一种方法:

var element = document.querySelector('#hiddenToVisible');

function checkFlag() {
    if(window.getComputedStyle(element).opacity !== 1) {
       window.setTimeout(checkFlag, 100); /* this checks the opacity every 100 milliseconds*/
    } else {
      the element now has opacity of 1, it's fully faded in. 
      /* do something*/
    }
}
checkFlag();