0

我有一个提交按钮,当用户点击提交按钮时,我想在 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() 可以继续其事务

4

2 回答 2

2

设置在 fadeIn() 函数完成后发生的monthlyReport 调用:

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

function monthlyReport(Obj1) {    
  //some transactions

  alert('test');    
}

编辑:修改代码以将变量设置self为单击处理程序中 this 的值。

于 2013-09-26T09:16:48.437 回答
0

像这样:

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

function monthlyReport(Obj1) {    
  //some transactions

  alert('test');    
}
于 2013-09-26T09:25:37.617 回答