动画CSS更改(jQuery)

时间:2019-01-05 19:10:57

标签: jquery css3 animation easing easing-functions

我正在尝试将jQuery宽松插件应用于.css和.animate,但无法正常工作,我不知道为什么,因为通常它可以正常工作。 代码示例:

$('#img').hover(function() {
    $(this).animate({"border-radius":"5px"}, 0, "easeOutBounce");
}, function() {
    $(this).animate({"border-radius":"75px"}, 0, "easeOutBounce");
});

所以基本上是.animate(而不是.css以避免问题),但我还希望设置动画持续时间并工作"easeOutBounce"或其他一些效果。

现在在:hover上为边框半径设置了动画,但是没有动画定时。

我无法在CSS中执行此操作,并且jQuery无法正常工作,是否有某种方法可以解决此问题?

谢谢, 奥利弗

4 个答案:

答案 0 :(得分:2)

我认为您在动画中使用的语法不正确。另外,如果您想看东西,则需要将持续时间设置为> 0。

可以使用自己的插件随意更改easing部分。

$('#img').hover(
  function() {
    $(this).animate({
      borderRadius: 75
    }, 300, 'easeOutBounce');
  },
  function() {
    $(this).animate({
      borderRadius: 5
    }, 300, 'easeOutBounce');
  }
);
#img {
  border-radius: 5px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.4.1/jquery.easing.min.js"></script>

<img id="img" src="https://i.stack.imgur.com/Qk0jX.jpg">

答案 1 :(得分:1)

此功能应该起作用:

$('#img').hover(
  function() {
    $(this).animate({
      borderRadius: 75
    }, 300, 'easeOutBounce');
  },
  function() {
    $(this).animate({
      borderRadius: 5
    }, 300, 'easeOutBounce');
  }
);

答案 2 :(得分:1)

尝试修改计时效果,例如 ease out bounce

将其更改为ease in

答案 3 :(得分:-1)

我尝试了一个按原样工作的示例。

<script src="https://code.jquery.com/jquery-1.12.4.js"></script>

<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>


<div class="block"></div>
<div class="block"></div>

$('div.block').hover(function(){
            $(this).animate({ borderRadius: '70px' }, 600, 'easeInBounce');
        },function(){
            $(this).animate({ borderRadius: '0px' }, 600, 'easeOutBounce');
        });