Mat*_*ron 2 javascript css jquery
我想删除div一个伟大的动画,但我不知道如何做到这一点.
所以我以小提琴为例:
<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>
Run Code Online (Sandbox Code Playgroud)
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;
}
Run Code Online (Sandbox Code Playgroud)
$('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);
});
Run Code Online (Sandbox Code Playgroud)
我在这里看到一个很好的例子
但是当一个div被移除时,她被剪掉了,它们只是下一个div的动画.
任何的想法 ?
终于解决了:Jsfiddle
既然你删除了element它,它就不能animated了.您可以通过类动画并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()
});
Run Code Online (Sandbox Code Playgroud)
你可以这样做:
$('#delete').click(function (e) {
$(".notification:first-child").slideUp(function() {
$(this).remove();
});
});
$('#add').click(function (e) {
$(".notifications").append("<div class='notification'></div>");
});Run Code Online (Sandbox Code Playgroud)
.notifications {
left: 0px;
top: 0px;
width: 400px;
height: 300px;
position: relative;
border: solid 1px green;
}
.notification {
height: 40px;
background: lightblue;
margin: 2px;
}Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<button type="button" id="delete">delete</button>
<button type="button" id="add">add</button>
<div class="notifications">
<div class="notification"></div>
<div class="notification"></div>
<div class="notification"></div>
<div class="notification"></div>
</div>Run Code Online (Sandbox Code Playgroud)
它使用 jQuery 而不是 CSS 来制作动画。单击删除按钮时,顶部栏会向上滑动,然后被删除。
| 归档时间: |
|
| 查看次数: |
19572 次 |
| 最近记录: |