我正在使用jQuery添加和删除水平显示的<li>
元素,其样式如下:
#my_ul {
list-style: none;
}
#my_ul li {
float: left;
margin: 0px 15px;
}
例如,如果我向一个
<ul>
元素添加了四个 <li>
,然后我决定删除第二个,在它被删除后,右侧的另外两个 <li>
元素应立即向左移动。我想要做的是通过动画来实现这种行为,使剩余的
<li>
元素缓慢地向左移动。不确定您是如何进行删除操作的,因此我只是将其绑定到了点击事件上。事件会发生变化,但您可以看到动画效果。请查看jQuery函数animate。
<ul id="my_ul">
<li>11111</li>
<li id="li2">11111</li>
<li>11111</li>
</ul>
$('#li2').click(function() {
$('#li2').animate({
width: '0px'
}, {
duration: 1000,
complete: function() {
$(this).remove();
}
});
});
我最近必须做类似的事情。以下是我删除元素所遵循的步骤:
将元素的不透明度动画设置为0
将宽度、边距和填充动画设置为0
删除该元素
我使用了类似以下代码的代码:
$(this).animate({opacity: 0}, 500);
$(this).animate({width: 0, "padding-left": 0, "padding-right": 0, "margin-left": 0, "margin-right": 0}, 500, function() {
$(this).remove();
});