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

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

如何解决:hover;上的css3动画;强制整个动画

恐怕解决此问题的唯一方法是使用一些JavaScript,您必须将动画添加为类,然后在动画结束时将其删除

$(".Box").bind("webkitAnimationEnd mozAnimationEnd animationend", function(){
  $(this).removeClass("animated")  
})

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

解决方法

我创建了一个简单的弹跳动画,该动画将应用于: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;
}

动画效果很好,但是当您从元素中删除光标时,动画会突然停止。无论如何,是否有强迫它继续设置的迭代次数(即使鼠标已经退出)?基本上,我在这里寻找的是由:hover状态触发的动画。我不是 在寻找 JavaScript解决方案。无论如何,我还没有看到在规范中执行此操作,但是也许我错过了一个明显的解决方案?

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