简体   繁体   English

隐藏的jQuery无法与CSS动画一起使用

[英]Jquery hidden not working with css animation

I have one question about Jquery hidden fuction. 我对Jquery隐藏功能有一个疑问。

I have two different Demo from codepen.io 我有两个来自codepen.io的演示

First DEMO css animation will working. 第一个DEMO CSS动画将起作用。 but .wrap is not to be hidden when i click second time .note a . .wrap是当我点击第二次不被隐藏.note a

Second DEMO .wrap is hidden but not with animation. 第二个DEMO .wrap隐藏,但不包含动画。 I want when i click .note a for close .wrap then .wrap going to be a hidden with css animation like first DEMO . 我想要当我单击.wrap .note a以关闭.wrap然后.wrap将像第一个DEMO一样被css动画隐藏。

how about this 这个怎么样

is this what you wanted? 这就是你想要的吗?

$(document).ready(function() {
    var circle = $('.circle');
    var wrap = $('.wrap');
    $(".note a").click(function(e) {
        e.preventDefault();
        $('.wrap').is(':hidden') ? $('.wrap').show() : setTimeout(function(){$('.wrap').hide()},500);
        if (wrap.hasClass('bounceInUp')) {
            wrap.removeClass('bounceInUp').addClass('bounceOutDown');
        }
        else {
            wrap.addClass('animated bounceOutDown');
            wrap.removeClass('bounceOutDown').addClass('bounceInUp');
        }
        if (circle.hasClass('bounceInLeft')) {
            circle.removeClass('bounceInLeft').addClass('bounceOutRight');
        }
        else {
            $('.circle').addClass('animated bounceOutRight');
            circle.removeClass('bounceOutRight').addClass('bounceInLeft');
        }
    });
});

Use a setTimeout function http://codepen.io/akshay-7/pen/gbgYvx 使用setTimeout函数http://codepen.io/akshay-7/pen/gbgYvx

 $('.wrap').is(':hidden') ? $('.wrap').show() : setTimeout(function(){
   $('.wrap').hide();
 },2000);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM