javascript - 如何从 'one' 事件获取回调

标签 javascript jquery

我正在构建一个 JavaScript 应用程序,有时需要进行触发单击。调用触发器,应用程序等待一次动画结束,然后运行几行代码。但脚本不会等到动画结束并继续执行其他代码。

问题很难描述,所以这是我的代码:

var $output = $('#output');

$('#link-1').click(function(){
    $('#link-2').trigger('click');
    $output.append('<div>Second output</div>');
});

$('#link-2').click(function(){
    var $obj = $(this);
    $obj.toggleClass('active');

    $obj.one('transitionend', function(){
        $output.append('<div>First output</div>');
    });
});

结果如下:

<div id="output">
    <div>Second output</div>
    <div>First output</div>
</div>

您可以在这里尝试:http://jsfiddle.net/MKZvZ/1/

如何实现第一个输出出现在第二个输出之前?

第一个输出第二个输出只是基本示例,实际上应用程序执行了一些逻辑工作。

最佳答案

您可以使用setTimeout函数来延迟进程

window.setTimeout(function() {
        // this will execute 1 second later
    }, 1000);

请引用以下链接。在这里他们可以解释如何延迟执行。您可以延迟执行,直到动画结束。

http://stackoverflow.com/questions/4912655/javascript-how-to-put-a-simple-delay-in-between-execution-of-javascript-code

关于javascript - 如何从 'one' 事件获取回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17920206/

相关文章:

javascript - 使用 Visual Studio 2010 设置 jsTestDriver

javascript - 在 JavaScript 中创建一个介于 -100 和 100 之间的随机数?

javascript - 数据表显示 :DataTables warning: table id=userdetails - Requested unknown parameter '1' for row 0, 第 1 列

javascript - 在一定的滚动偏移量或滚动时间后触发滚动事件

javascript - 通过数组映射并在React中渲染指定组件

jquery - 如何在 HTML 工具提示的标题中附加值

javascript - 如何在javascript中基于字符串数组创建嵌套数组?

jQuery 1.8 查找事件处理程序

php - 如何在 jQuery 自动完成中显示多个字段,并且在选择结果时只有一个字段在文本框中可见?

javascript - 在 CSS 列中围绕固定 float 图像使用 JavaScript 增加字体大小