gpt4 book ai didi

javascript - 如果在 animate() 之后设置 hide() jquery animate 函数,它不起作用?

转载 作者:搜寻专家 更新时间:2023-11-01 05:02:42 24 4
gpt4 key购买 nike

首先我有一个 iframe 的动画,它的 id 是“test”

<iframe id="test" src=""></iframe>

然后我想要动画化它并隐藏它,像在 MacOS 中一样产生关闭效果:

$('#test').animate({
'width':0,
'height':0,
'top':$('input').offset().top,
'left':$('input').offset().left
},function(){
//$(this).hide();
}).hide();

但是好像iframe是不能隐藏的,不过如果我把它写在animate的回调函数里,也就是上面注释的代码,又可以了。

Here is online case

所以我想知道为什么 animate() 之后的 hide() 不起作用?我错过了什么吗?

最佳答案

为了回答您的问题,对 .hide() 的调用是在调用 .animate() 之后立即执行的,因此.hide() 调用实际上发生在 动画完成之前,(.animate() 异步运行)——这就是 jQuery 提供回调的原因功能,以便您可以在动画完成时收到通知。

$('#test').animate({
'width':0,
'height':0,
'top':$('input').offset().top,
'left':$('input').offset().left
}, function(){
$("#test").hide();
});

jsFiddle 上为您保存了这个也是

关于javascript - 如果在 animate() 之后设置 hide() jquery animate 函数,它不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4573918/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com