6

我似乎无法弄清楚这里发生了什么......我有点睡着了,真的想在我睡觉前完成这最后一件事哈哈。

我的目标:单击某人,然后检查它是否具有类,如果没有,则添加它,然后在 1 秒动画完成后将其删除。现在我在第 3 行得到了意想不到的标识符。(删除类)

注意:slamedown类是关键帧

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

3 回答 3

16

.toggleClass()用于此特定目的

从文档

根据类的存在或 switch 参数的值,从匹配元素集中的每个元素中添加或删除一个或多个类。

$('#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 回答
-1

这在使用 hasclass 时帮助了我

$( "div" ).click(function() {

if ( $( this ).hasClass( "protected" ) ) {

    $( this )
        .animate({ left: -10 })
        .animate({ left: 10 })
        .animate({ left: -10 })
        .animate({ left: 10 })
        .animate({ left: 0 });

}

});

参考链接

于 2019-07-16T07:38:02.793 回答