0

我正在学习 jQuery。我有这个代码:

$(document).ready(function () {
var status = false;
$("#red").click(function() {
    if(status == false) {
        $("#red").animate({
            width: "800px",
            height: "800px"
        }, 1000);
        $("#text").delay(1000).fadeTo(1000, 1.0);
        status = true;

    }
    else if(status == true) {
        $("#text").fadeTo(1000, 0.0);
        $("#red").delay(1000).animate({
            width: "200px",
            height: "200px"
        }, 1000);
        status = false;
    }
});

});

现在,我希望点击不会堆叠。我想在一秒钟后更改变量“状态”值,然后点击不会堆叠。请问我该怎么做?

谢谢!

4

1 回答 1

1

您可以在动画完成时将全局变量设置为状态,并向 if 添加一个附加参数:-

var check;

$(document).ready(function () {
var status = false;
$("#red").click(function() {
if(status == false && check == true) {
    $("#red").animate({
        width: "800px",
        height: "800px"
    }, 1000, function() {
     // Animation complete.
     check = true;

     });


    $("#text").delay(1000).fadeTo(1000, 1.0);
    status = true;

}
else if(status == true && check == true) {
    $("#text").fadeTo(1000, 0.0);
    $("#red").delay(1000).animate({
        width: "200px",
        height: "200px"
    }, 1000, , function() {
     // Animation complete.
     check = true;

     });
    status = false;
}

});

于 2013-02-28T16:06:10.853 回答