我正在尝试将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无法正常工作,是否有某种方法可以解决此问题?
谢谢, 奥利弗
答案 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');
});