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;
    }
});

});

今、クリックがスタックしないようにします。変数「ステータス」の値を1秒後に変更することを考えました。その後、クリックはスタックしません。どうすればいいですか?

ありがとう!

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 に答える