代码之家  ›  专栏  ›  技术社区  ›  lennyklb

使用JQuery切换类来操纵单击转换

  •  0
  • lennyklb  · 技术社区  · 10 年前

    我试图在单击按钮时进行良好的转换。 按钮基本上是一个触发Jquery函数的div。该按钮由一些文本和FontAwesome图标组成。

    我想以这样的方式使用JQuery:当我单击按钮时,FA图标的大小会迅速改变 和后面 ,所以人们会得到某种点击按钮的动画确认。我创建了一个带有至少增加字体大小的转换的类:

    #keepbtn.clicked {
        font-size:3em;
        opacity:0.8;
        -webkit-transition: all 0.1s ease 0s;
        -moz-transition: all 0.1s ease 0s;
        -ms-transition: all 0.1s ease 0s;
        -o-transition: all 0.1s ease 0s;
        transition: all 0.1s ease 0s;   
    }
    

    我试着在课堂之间切换 使用延迟 :

    $("#keepbtn").toggleClass("clicked").delay(250).toggleClass("clicked");
    

    但这并不奏效;它不会改变任何事情。 然而,这是可行的(但不会将其改回原来的大小):

    $("#keepbtn").toggleClass("clicked");
    

    有什么想法吗?我对transition和JQuery相当陌生,所以我可能完全采用了错误的方法。

    提前感谢。

    1 回复  |  直到 10 年前
        1
  •  0
  •   Jeremy Thille    10 年前

    为了让delay()处理非动画元素,您必须“排队”运算符:

    $("#keepbtn")
        .toggleClass("clicked")
        .delay(250)
        .queue(function(nxt) {
             $(this).toggleClass("clicked");
             nxt();
        });