1

ここに私のコードがあります:

$('#retouche_a_faire').click(function() {
$("#retouche_a_faire_alert").toggle(this.checked);
});

それはうまくいっています。基本的にはdiv、「retouche_a_faire」チェックボックスにチェックを入れると出現し、チェックを外すと消える機能です。fadeToggleしかし、代わりにオプションを使用したいと思いますtoggle。どうすればこれを機能させることができますか?

私は試した :

$('#retouche_a_faire').click(function() {
$("#retouche_a_faire_alert").fadeToggle(this.checked);
});

しかし、持続時間とイージングを設定する必要があるため、機能していないと思います...しかし、括弧内にも「this.checked」を使用する必要があります...少し混乱しています。

ありがとうございました!

4

4 に答える 4

2

http://jsfiddle.net/a6Dkw/4/

この場合、fadeToggle() が で始まるという事実がわかっている場合を除き、fadeToggle() を使用したくありませんdisplay:none。チェックされているかどうかをテストする方がはるかに安全です。また、jQuery 1.7.2 を使用している場合は.on('click').prop()

$('#retouche_a_faire').on('click', function() {
    if ($(this).prop('checked')) {
        $("#retouche_a_faire_alert").fadeIn();
    }
    else {
        $("#retouche_a_faire_alert").fadeOut();
    }
});​
于 2012-08-13T15:35:54.557 に答える
1

fadeToggle にはブール値のオプションはありませんが、次のようにチェックボックスに基づいて、fadeOut/fadeIn を使用できます。

$('#retouche_a_faire').click(function() {
    if ($(this).prop('checked')) {
        $("#retouche_a_faire_alert").fadeIn( [duration] [, easing] [, callback] );
    } else {
        $("#retouche_a_faire_alert").fadeOut( [duration] [, easing] [, callback] );
    }
});
于 2012-08-13T15:30:43.170 に答える
1

その基本的な形で:

$('#retouche_a_faire').click(function() {
  $("#retouche_a_faire_alert").fadeToggle();
});

使用したい場合.fadeToggle()は、check onload を実行して、チェックボックスがチェックされているかどうかに応じてアラートを非表示にします。

if (!$("#retouche_a_faire").attr('checked'))
    $("#retouche_a_faire_alert").hide();

私のフィドルの例を参照してください - http://jsfiddle.net/Y2cnR/

更新 フィドルを更新して、回答を複数の入力に適用することを示しました - http://jsfiddle.net/Y2cnR/1/

于 2012-08-13T15:32:02.357 に答える
0

たとえば、fadeToでブール値を使用できます

$('#retouche_a_faire').click(function() { 
    $('#retouche_a_faire_alert').stop().fadeTo(200,this.checked ? 1 : 0);
});

http://jsfiddle.net/VqD5C/1/

于 2012-08-13T15:42:21.710 に答える