gpt4 book ai didi

javascript - 删除div并带有漂亮的动画

转载 作者:行者123 更新时间:2023-12-01 01:58:04 24 4
gpt4 key购买 nike

我想删除具有出色动画的 div,但我不知道如何执行此操作。

所以我这样做fiddle例如:

HTML

<h2>What I have</h2>
<div class='test'>1</div>
<div class='test'>2</div>
<div class='test'>3</div>
<div class='test'>4</div>
<div class='test'>5</div>

<h2>What I Want</h2>
<div class='test2'>1</div>
<div class='test2'>2</div>
<div class='test2'>3</div>
<div class='test2'>4</div>
<div class='test2'>5</div>

CSS

div.test, div.test2 {
display:inline-block;
padding: 20px;
margin:5px;

border:1px solid black;

-webkit-transition: all .5s;
-moz-transition: all .5s;
-ms-transition: all .5s;
-o-transition: all .5s;
transition: all .5s;
}

JS

$('div.test').on('click', function() {
$(this).remove();
});

$('div.test2').on('click', function() {
// I don't want to change opacity or padding...
// I just want to remove with animation like this:
$(this).css('width','0px').css('padding','0px');
$(this).css('opacity',0);
});

我看到一个很好的例子here

但是当一个 div 被删除时,她就会被剪切,并且它们只是下一个 div 的动画。

有什么想法吗?

编辑

终于解决了:Jsfiddle

最佳答案

自从您删除元素后,它就无法再动画了。您可以通过类进行动画处理,并在 transitionend 上删除该元素。例如这样:

.animate
{
height: 0px;//or anything you need
transition: height 1s;
}



$('#delete').click(function (e) {
//instead of remove you add a class.
$(".notification:first-child").addClass('animate');
});
$('.notification').on('transitionend', function(e){
//when transition is finished you remove the element.
$(e.target).remove()
});

http://jsfiddle.net/nawkufh1/

关于javascript - 删除div并带有漂亮的动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31898651/

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