jquery - 完成上一个事件后如何继续举办事件?

标签 jquery

我在使用某些 jquery 时遇到问题,请参阅下面的代码。

我有 2 个事件正在进行。我想要实现的是,当第一个事件完全完成时,我想运行第二个事件。

第一次事件

$("#brand div").each(function(e) {
$(this).delay(600*e).fadeTo('slow',1)
})

第二次事件

$(".b-circle-image a").each(function(ev) {
$(this).delay(600*ev).fadeTo('slow',1);
})

我什至尝试使用 status = false; 但仍然不起作用。

    var checkStatus  = true;
    $("#brand div").each(function(e) {//Display segments in order
      $(this).delay(600*e).fadeTo('slow',1)
      checkStatus = false;
    })
    if(!checkStatus==false){
      $(".b-circle-image").show();
      $(".b-circle-image a").each(function(ev) {//Display circle image in order
      $(this).delay(600*ev).fadeTo('slow',1);
    })
    }

如果有人对此有任何想法,我们将不胜感激。

最佳答案

// You can create deferred object for each fadeTo and resolve it on complete animation callback.
var firstEvent = $("#brand div").map(function(i, el) {
    var dfd = $.Deferred();
    $(el).delay(600*i).fadeTo('slow', 0, function() {
        dfd.resolve();
    })
    return dfd;
});
// Then use $.when function (http://api.jquery.com/jQuery.when/)
$.when.apply(this, firstEvent).done(function() {
    $(".b-circle-image a").each(function(i) {
        $(this).delay(600*i).fadeTo('slow',0);
    });
});

关于jquery - 完成上一个事件后如何继续举办事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9627755/

相关文章:

javascript - 添加表单中的所有值并在禁用的输入中显示

javascript - 如何使用 jQuery 检查所有输入是否不为空

javascript - jsfiddle 代码在我的网站上不起作用

jquery - 如何使用 jQuery 和 $form 助手添加新的表单字段?

javascript - 用jquery高亮textarea边框一段时间

javascript - 使用 MVC5 C# 和 Razor 在部分 View 中运行 javascript

javascript - 如果错误等于 _ 执行此 Javascript/jQuery

jquery - $(this).attr ('img' ) 返回 null 或 [object Object] 不是值

javascript - 如何在 JavaScript 中将字符串值包装在变量中

jquery - 如何获取 jQuery 下拉值 onchange 事件