微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

css3动画:hover;强制整个动画

我创建了一个简单的反弹动画,我正在应用于:hover状态的元素:
@keyframes bounce {
    0% {
      top: 0;
      animation-timing-function: ease-out;
    }
    17% {
      top: 15px;
      animation-timing-function: ease-in;
    }
    34% {
      top: 0;
      animation-timing-function: ease-out;
    }
    51% {
      top: 8px;
      animation-timing-function: ease-in;
    }
    68% {
      top: 0px;
      animation-timing-function: ease-out;
    }
    85% {
      top: 3px;
      animation-timing-function: ease-in;
    }
    100% {
      top: 0;
    }
}

.Box:hover { 
    animation: bounce 1s;
}

动画效果很好,除了当您将光标从元素中删除后,它会突然停止。有没有强制它继续设定的迭代次数即使鼠标已经退出?基本上我在这里寻找的是由:悬停状态触发的动画。我不是在寻找一个javascript解决方案。我没有看到这样做的规格,但也许有一个明显的解决方案,我错过了这里?

这是一个小提琴玩:http://jsfiddle.net/dwick/vFtfF/

解决方法

我恐怕解决这个问题的唯一方法是使用一些javascript,你必须将动画添加一个类,然后在动画完成时将其删除
$(".Box").bind("webkitAnimationEnd mozAnimationEnd animationEnd",function(){
  $(this).removeClass("animated")  
})

$(".Box").hover(function(){
  $(this).addClass("animated");        
})

http://jsfiddle.net/u7vXT/

原文地址:https://www.jb51.cc/css/218778.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。