每当div父容器类发生更改时,运行jquery函数

时间:2014-12-05 09:48:10

标签: javascript jquery html css

我想在div父容器<div class="section">...</div>变为&#34;活跃&#34;时运行下面的函数。例如<div class="section active">...</div>

  $(".skills-grid__col").each(function () {
      var left = $(this).data('left');
      $(this).animate({
          opacity: 1,
          left: left
      }, 1200);
  });

<div class="section">
  <div class="skills-grid__col"></div>
  <div class="skills-grid__col"></div>
</div>

在这种情况下我应该使用什么样的事件?

1 个答案:

答案 0 :(得分:2)

如果您想支持旧浏览器,那么您可以对事件做很多事情。

如果删除对IE10的支持是正常的,那么您可以使用MutationObserver,当元素发生变化时会通知{<3>}:

var observer = new MutationObserver(function(mutations) {
  if ($yourElement.hasClass('active')) {
     // do things
  }
});
observer.observe($yourElement[0], {attributes: true});

如果您无法删除IE10,并且假设您不想定期检查该元素,则必须将该类更改的部分挂钩,这通常是最佳解决方案。当然,如果window.MutationObserverundefined,你也可以通过定期检查课程来编写垫片。