我在下国际象棋。在那里,我想移动一个有效果的元素,然后将它附加到新的div。以下是我的代码。
//--> #p70 is just ablove #p80
//--> each square is 64px
$('#p80').animate({bottom:'+=64px'},500); //--> move one square above
$('#b70').append($('#p80')); //--> append the animated element to owner 'div'问题是,它移动了2个正方形(相当于128px),而我只移动了64px。Here是我的页面,如果你点击棋子上方的白色方块,你就会看到问题。我已经尝试添加delay(1000)甚至javascript setTimeout,但都不起作用:(提前感谢您的帮助!
发布于 2010-03-28 21:38:54
您也可以采用这种方法,从current向后一点:
$('#b70').unbind().click(function(){
$('#p80').css({bottom: '-64px', zIndex: 1})
.appendTo($('#b70')).animate({bottom:'0px'},500);
});这会将其设置为下面的索引(z- 64px将其置于棋盘格图案之上...我会在CSS中对所有的块执行此操作,并在此处将其删除),然后将其附加到单元格,并将其动画恢复到0的底部位置。
这样做的好处是:当动画稍后结束时,这会立即将片段移动到新的单元格中,这对于将来检查空间是否为空的事件来说是最好的(例如,在快速单击后,另一个片段将移动到此处)。
https://stackoverflow.com/questions/2533038
复制相似问题