【问题标题】:Spin animation initiated on hover but still completes when off hover悬停时启动旋转动画,但悬停时仍会完成
【发布时间】:2018-05-29 01:01:04
【问题描述】:

所以我已经完成了一些简单的代码来当你将鼠标悬停在容器上时旋转内部元素。

当鼠标悬停在容器上时,这就像我想要的那样工作,但是当鼠标不再在容器内时,旋转停止。

如何完成一个完整的旋转,由鼠标悬停启动,即使鼠标离开容器,它也会完成一个完整的旋转,最好只使用 CSS。

当前代码:

HTML

@keyframes spin {
  0% { transform: rotate(0deg); }
  25% { transform: rotate(-90deg); }
  50%{ transform: rotate(-180deg); }
  75% { transform: rotate(-270deg); }
  100% { transform: rotate(-360deg); }
}

.logo:hover > .spin{ 
  animation: spin 450ms;
}

.logo{
  background: #eee;
  width: 100px;
  height: 100px;
  text-align: center;
  line-height: 110px;
}
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>
<a href="#">
  <div class="logo">
    <i class="fa fa-globe fa-2x spin" aria-hidden="true"></i>
  </div>
</a>

【问题讨论】:

    标签: css animation hover transform


    【解决方案1】:

    这应该工作! :)

    jQuery(document).ready(function(){
    jQuery(".logo").hover(function(){
       var logo = jQuery(this);
      if(!logo.hasClass('hover')){
         logo.addClass('hover');
         setTimeout(function(){
            logo.removeClass('hover');
         }, 450);
      }
    }, function(){});
    });
    @keyframes spin {
      0% { transform: rotate(0deg); }
      25% { transform: rotate(-90deg); }
      50%{ transform: rotate(-180deg); }
      75% { transform: rotate(-270deg); }
      100% { transform: rotate(-360deg); }
    }
    
    .logo.hover > .spin{ 
      animation: spin 450ms;
    }
    
    .logo{
      background: #eee;
      width: 100px;
      height: 100px;
      text-align: center;
      li
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>
    <a href="#">
      <div class="logo">
        <i class="fa fa-globe fa-2x spin" aria-hidden="true"></i>
      </div>
    </a>

    【讨论】:

    • 这行得通!我确实希望有某种 CSS 选项。谢谢!
    • 没问题!很高兴我能帮忙:)
    猜你喜欢
    • 2016-10-30
    • 2016-10-27
    • 2011-12-20
    • 1970-01-01
    • 2019-05-06
    • 1970-01-01
    • 1970-01-01
    • 2015-12-26
    • 1970-01-01
    相关资源
    最近更新 更多