您好我必须遵循以下问题:
我有一个4乘4格的div并且它们都在按键上被动画化(它们移动它们的位置),但它们重叠。有没有办法检测每个div的左侧相对是否有元素,如果是,则阻止动画?
使用箭头移动div
以下是文件和演示:
http://lab.anorangeleaf.com/grid/
http://lab.anorangeleaf.com/grid/main.js JavaScript
使用的jquery位于/jquery.js
对不起,我无法创建一个jsfiddle :(
答案 0 :(得分:0)
您应该使用包含布尔值(true,false)的4x4矩阵,以便始终知道每个div中是否存在元素。
然后,当触发按键事件时,检查元素X应该去的div是否已经托管了另一个元素Y,在这种情况下,你不会移动X.
要使其正常工作,您应该从"侧开始检查"与按下的键相关的方块。
A B C D
E F G H
I J K L
M N O P
如果按下向上,则开始检查A行,然后检查E,I和M. 如果按下了,则开始检查M行,然后检查I,E和A. 如果按下右键,则开始检查D列,然后检查C,B和A. 如果按下左键,则开始检查A列,然后检查B,C和D.
jsfiddle上的快速示例,它应该完全符合您的要求