在所有jquery函数事务完成后调用jquery fadein()?

时间:2013-09-26 09:12:19

标签: jquery fadein

我有一个提交按钮,当用户点击提交按钮时,我想在jquery中使用fadein()启动一个Div,从同一个函数我调用另一个名为monthlyReport()的函数,但这个fadein div正在在调用montlyReport并且其功能结束后调用

<script type="text/javascript">
$(function () {
    $("#submitbtn").click(function () {
        $("#loading").fadeIn();
        monthlyReport($(this));
    });
});


function monthlyReport(Obj1) {

  //some transactions

  alert('test');

}

<div id="loading">
<div id="loadingcontent">
    <p id="loadingspinner">
        Searching things...
    </p>
</div>
</div>

我的要求是$(“#loading”)。fadeIn();应首先触发,然后monthlyReport()可以继续其事务

2 个答案:

答案 0 :(得分:2)

一旦fadeIn()函数完成,就将monthlyReport调用设置为:

$(function () {
    $("#submitbtn").click(function () {
        var self = this;
        $("#loading").fadeIn('slow', function() {
           monthlyReport($(self));
        });
    });
});

function monthlyReport(Obj1) {    
  //some transactions

  alert('test');    
}

编辑:修改了代码,将变量self设置为点击处理程序中的值。

答案 1 :(得分:0)

像这样:

$(function () {
    $("#submitbtn").on('click', function () {
        $("#loading").fadeIn('slow', function() {
           monthlyReport($(this));
        });
    });
});

function monthlyReport(Obj1) {    
  //some transactions

  alert('test');    
}