【发布时间】:2016-05-10 13:09:32
【问题描述】:
$(document).ready(function() {
//ENTRANCE
$("#first").css("top", -1000);
setTimeout(function() {
$("#first").animate({
top: 10
}, 400);
}, 200);
$("#second").css("top", -1000);
setTimeout(function() {
$("#second").animate({
top: 10 + 45 + 15
}, 400);
}, 400);
$("#third").css("top", -1000);
setTimeout(function() {
$("#third").animate({
top: 10 + 45 + 45 + 30
}, 400);
}, 600);
$("#four").css("top", -1000);
setTimeout(function() {
$("#four").animate({
top: 10 + 45 + 45 + 45 + 45
}, 400);
}, 800);
//EXIT
$('#first').on('click', function() {
$('#first').toggle();
$('#second').animate({top: 5}, 400);
});
$('#second').on('click', function() {
$('#second').toggle();
$('#third').animate({top: 5}, 400);
});
$('#third').on('click', function() {
$('#third').toggle();
$('#four').animate({top: 5}, 400);
});
$('#four').on('click', function() {
window.location.reload();
});
});
` 我一直在尝试使用 jquery 使元素相互交互,这是一个 Fiddle 我的代码。 我虽然有一些小问题。
- 在现实世界环境中,元素可能不会按升序或逻辑顺序调用。
- 关闭时项目的动画效果不正确,存在间隙,在某些情况下,某些项目不会移动,具体取决于单击的对象。
- 可能超过 4 项。
这是我的问题:无论单击哪个项目以及对项目进行排序的顺序如何,我如何才能使元素动画并正确覆盖。
【问题讨论】:
-
如果单击第一个元素,是否要将所有元素移动到上方一个位置?
-
在现实世界中,javascript 代码不依赖于元素 ID。您可以通过索引选择子元素
-
是的,先生,我希望所有元素都上移一个位置。
-
您可以考虑这个其他问题:stackoverflow.com/questions/19553024/…(您也可以在删除项目时添加 css 过渡)
标签: javascript jquery html css