jQuery“堆叠”div(像乐高)

时间:2012-04-20 11:28:56

标签: jquery html css lego

我一直在做一些有趣的事情,像乐高一样堆叠我的div。我已经能够使用appendTo和定位将其叠加一次,但是如果您多次单击,则div会出现在意外(对我而言)的位置!

你可以在这里看到我的意思:jsfiddle example。 (您可以单击红色div来删除堆叠的div)

有没有办法让divs堆栈完全像第一个一样,彼此“在顶部”就像一个legos塔?

谢谢:)

2 个答案:

答案 0 :(得分:2)

var lastPos = [-4, -3];
$('.cube, .cubeStack').click( function() {
    lastClicked = $('<div class="cubeStack"></div>')
       .css({top:lastPos[0], left:lastPos[1]})
       .appendTo($(this));

    lastPos[0] -= 1;
    lastPos[1] -= 1;
});
  • .cubeStack位置设为绝对
  • 每次添加新堆栈时减少

http://jsfiddle.net/Dk585/8/

  

P.S。我发现它实际上很可爱&lt; 3

答案 1 :(得分:0)

将div堆叠在彼此之上使用prependTo()。 区别在于appendTo()将元素添加为最后一个子元素,prependTo()将元素添加为元素的第一个子元素。