首页 > 解决方案 > 如何在jquery中先执行一个代码?

问题描述

我正在尝试在单击 div 块之前执行加载。实际上,代码是这样的:

$("#bookmark").click(function() {
$("#page-loader").fadeIn("slow"); //should execute first

//my second code witch is hiding and showing some elements and takes about 5 sec to do
$(elements).hide() or show();
});

但是当用户点击时,它首先执行第二个,然后首先执行:/

我已经尝试过延迟(),setTimeout ...但它们都不起作用:(

编辑:伙计们,谢谢大家。你知道我是一个真正的初学者,对那些文档不太了解:))

标签: javascriptjquery

解决方案


因为fadeIn是异步操作。在其回调中执行后续操作:

$("#page-loader").fadeIn("slow", function () {
    $(elements).hide()// or show();
});

推荐阅读