找到位置有效,但结果没有意义

时间:2012-03-10 18:04:06

标签: jquery

我有一个div网格。

每个div为200x200,并且位于3x3的网格中。 中间div是空的,我试图找出其他潜水的距离,它在x或y方向上是200px,但不是两者。

我的代码如下:

function getValidMoves()
{
    var validMoves = new Array();   //CREATE AN ARRAY FOR VALID MOVES

    var emptySpace = $('.tileHolder:empty');    
    var emptyX = emptySpace.offset().left;      
    var emptyY = emptySpace.offset().top;       

    var allTileSpace = $('.tileHolder');        


    for(var i = 0; i < allTileSpace.length;i++)
    {

    var xDiff = Math.abs(emptyX - $(allTileSpace[i]).offset().left);    
    var yDiff = Math.abs(emptyY - $(allTileSpace[i]).offset().top);
    console.log(xDiff + ',' + yDiff + ' ' + $(allTileSpace[i]).attr("id"));

    var pieceID = $(allTileSpace[i]).attr("id");
    pieceID = pieceID.substring(4);


    validMoves[i] = xDiff + ',' + yDiff + ',' + pieceID;


    //console.log(validMoves[i]);
}

所以当这个运行时,我得到的控制台结果没有意义。 基本上,没有div应该超过200,0或0,200被列为有效移动。

以下是来自控制台的结果:

200.00003051757812,200 hold1

0,200 hold2

200,200 hold3

200.00003051757812,0 hold4

0,0 hold5

200,0 hold6

200.00003051757812,200 hold7

0,200 hold8

200,200 hold9

有效移动:hold2

有效移动:hold6

有效移动:hold8

为什么7,4和1返回200.00003051757812? 4也应该是一个有效的举动。

0 个答案:

没有答案