完成动画后如何删除元素? [英] How to remove an element AFTER animation completes?
本文介绍了完成动画后如何删除元素?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用以下代码为div设置动画.
I'm using the following code to animate a div.
<script>
$(function() {
$("a.shift").click(function() {
$("#introOverlay").animate({
height: 0,
}, 2000)
});
});
</script>
动画结束后,我想将其删除.我该怎么办?
When the animation finishes, I would like to remove it. How can I do that?
推荐答案
动画需要2个以上的时间参数,所以您可以这样做:
animate takes 2 more params, so you could do:
$("a.shift")
.click(function()
{
$("#introOverlay")
.animate({height: 0}, 2000,"linear",function()
{
$(this).remove();
}
)
}
);
未经测试.
经过测试:这是我使用的整个页面,该页面扩展到300px,使删除更加明显:
Tested: here's the full page I used, which expands to 300px make removal more obvious:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
//<![CDATA[
$(document).ready(function()
{
$(".shift").click(function()
{
$("#introOverlay")
.animate({height: 300}, 2000,"linear",function()
{
$(this).remove();
})
});
});
//]]>
</script>
</head>
<body>
<a class="shift" href="javascript:void(0)">clickme</a>
<div id="introOverlay" style="background-color:red;height:200px;">overlay</div>
</body>
</html>
这篇关于完成动画后如何删除元素?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文