6

ここで何が起こっているのか理解できません... 私は半分眠っているようなもので、本当に寝る前に最後のことを終わらせようとしています笑.

私の目標: 誰かをクリックして、クラスがあるかどうかを確認し、ない場合は追加し、1 秒のアニメーションが完了したら削除します。現在、3行目で予期しない識別子を取得しています。(クラスを削除)

注:slamedownクラスはキーフレームです

$('#accountloginsignup h1').click(function() {
  if ($('#takeonebar').hasClass('slamdown')){
    $('#takeonebar')removeClass('slamedown');
  } else {
    $('#takeonebar').addClass('slamdown');
  }
});
4

3 に答える 3

16

.toggleClass()は、この特定の目的のためのものです

ドキュメントから

クラスの存在またはスイッチ引数の値に応じて、一致した要素のセット内の各要素から 1 つ以上のクラスを追加または削除します。

$('#accountloginsignup h1').click(function() {
    $('#takeonebar').toggleClass('slamdown');
});

タイプミスがある

$('#accountloginsignup h1').click(function() {
    if ($('#takeonebar').hasClass('slamdown')){
        $('#takeonebar').removeClass('slamdown');  /* missing . before removeClass */
    } else {
        $('#takeonebar').addClass('slamdown');
      }
});
于 2013-04-24T02:54:05.510 に答える
1

いくつかのタイプミスがありました:

$('#accountloginsignup h1').click(function() {
        if ($('#takeonebar').hasClass('slamdown')){
            $('#takeonebar').removeClass('slamdown');
        } else {
            $('#takeonebar').addClass('slamdown');
          }
        });

しかし、あなたが本当に欲しいのは$('#takeonebar').toggleClass('slamdown')

jquery ドキュメント

于 2013-04-24T02:54:15.190 に答える