侦听不同元素上的多个触发事件后的触发功能

hich_ham

我正在使用一个加载器,它将等待angularJs指令完成并完成。反之亦然,如果我的指令先完成,则img加载器必须紧随其后才显示我的页面。之后,指令将完成执行,我将使用角度$ timeout广播dom事件

$timeout(function() {  
   var DirectivesEnded = new Event('DirectivesEnded');
   document.dispatchEvent(DirectivesEnded);
}, 5000);

我也使用jquery插件等待所有img加载。

$images = $("img");
imagesLoaded($images).on('done', function (instance, image) {

});

在两个事件都触发之后,我想执行这些代码行以使加载程序的html层消失。

  $(".lazy-load").animate({
    'opacity': 0
  }, 300, "linear", function () {
    setTimeout(function () {
      $(".lazy-load").hide();
    }, 10);
  });

这些事件和功能都分别运行。但是我的目的是将两者结合起来。任何人都有一个想法如何做到这一点?

索丁

如果我很好地理解了您的问题,这应该可以完成工作:

var check_sum = 0;
$timeout(function() {
   var DirectivesEnded = new Event('DirectivesEnded');
   document.dispatchEvent(DirectivesEnded);
   check_sum++;
   finished();
}, 5000);

$images = $("img");
imagesLoaded($images).on('done', function (instance, image) {
    check_sum++;
    finished();
});


function finished() {
  if(check_sum==2) check_sum=0;
  else return;
  $(".lazy-load").animate({
    'opacity': 0
  }, 300, "linear", function () {
    setTimeout(function () {
      $(".lazy-load").hide();
    }, 10);
  });
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在不同的 html 元素上但在一个 jQuery 函数内触发多个事件

为多个元素添加事件侦听器并检测哪个元素触发事件 - jQuery

具有不同触发器元素和侦听器元素的自定义事件

在事件触发后添加事件侦听器“加载”

单击事件后如何触发功能useEffect?

jQuery多个事件触发相同的功能

HTML多个事件触发相同的功能

在 onClick 事件后触发 useEffect - 结果不同

仅在元素加载后如何触发事件?

添加新元素后未触发事件

多个流星元素触发jQuery事件

全局范围-触发事件侦听器后访问“ this”

触发事件侦听器后延迟执行

处理侦听并触发事件的元素/对象的最佳方法是什么?

如何准确识别事件侦听器触发的元素?

在伪元素上触发动画事件?

角度事件在错误的元素上触发

<a> 元素上未触发单击事件

在 ajax 响应元素上触发 JQuery 事件

在子元素上反应onMouseEnter事件触发

在“ a href”元素上触发点击事件

流星:嵌套模板上触发多个事件

DOMContentLoaded上的事件侦听器随机触发

单击按钮时如何触发事件侦听图层上的形状?

事件侦听器未在移动设备上触发

当我在网页上的输入元素上按 Enter 键时触发的 JavaScript 事件侦听器

TransitionEnd侦听器在子元素上触发

编辑ObservableList中的多个元素,仅在最后一次更改后触发更改侦听器

Angular ng-mousover事件可以在多个元素上触发ng样式吗?