使用CSS animate和jQuery删除div消息

时间:2014-12-31 22:43:33

标签: javascript jquery html css css3

我使用PHP打印成功消息:

<div class='alert alert-success'>Success!!</div>

我有这个CSS3 Animate:

.animated {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.animated.infinite {
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
}

.animated.hinge {
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
}
@-webkit-keyframes fadeOutUp {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
  }
}

@keyframes fadeOutUp {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
  }
}

.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
          animation-name: fadeOutUp;
}

现在,我需要使用jQuery在5秒后使用我的CSS Animate(fadeOutUp)删除成功消息。我怎么能创造这个?!

2 个答案:

答案 0 :(得分:2)

你可以创建一个隐藏你的元素的类,通过转换将不透明度设置为0,并使用JavaScript将此类添加到div中。

CSS

.hide {
  opacity: 0;
  transition: opacity 1000ms;
}

JS

function fadeOut(el){
  el.classList.add('hide');
}

div = document.getElementById('yourDiv');
setTimeout(function(){
  fadeOut(div);
}, 5000);

HTML

<div id='yourDiv' class='alert alert-success'>Success!!</div>

结帐codepen

答案 1 :(得分:0)

这是你在找什么?

setTimeout(animateUp, 5000);

function animateUp() {
    $(".alert").css({'-webkit-animation' : 'fadeOutUp 5s infinite'});
}

或将您的.fadeOutUp CSS更新为

.fadeOutUp {
    -webkit-animation: fadeOutUp 5s infinite;
     animation: fadeOutUp 5s infinite;
}

然后你可以做

setTimeout(animateUp, 5000);

function animateUp() {
    $(".alert").addClass("fadeOutUp");
}

JSFiddle