0

我有一系列 div,代表类似于棋盘。但这是一盘棘手的国际象棋。基本上用户点击一块,然后点击敌人的一块。如果它可以杀人。它应该将其移动到敌人的位置。并且敌人应该被删除。

<div class="column" data-square="4-4">
<div class="white-king lol">a</div>
</div>
<div class="column" data-square="4-5">
<div class="black-pawn lol">b</div>
</div>
<div class="column" data-square="4-6">
<div class="blue lol">c</div>
</div>

//所以当用户第一次点击whiteking时,我们得到data-square,将它分配给一个变量$from,然后点击敌人的black-pawn。在服务器中进行一些验证,并且应该移动

​ square = 4-4 的内部 div 到 square = 4-5 的内部 div , square = 4-5 的内部 div 应该被删除, square= 4-4 的内部 div 应该是 presnet

我尝试过使用 jquery 克隆。但它不适合小提琴:http: //jsfiddle.net/jm4eb/13/

4

2 回答 2

0

这仍然不是好方法,但您可以尝试

(function() {

        var from = null;
          var $change =null;
        var to = null;

        $(".column" ).click(function(){
            if(from === null)
            {
                $(this).css("background-color","yellow");

                from = $(this).data('square');
                    $change= ($('<div/>').append($(this).clone(true).children()).html());


            }
            else
            {

                to = $(this).data('square');
                $(this).html("").html($change);
                $('div[data-square="'+from+'"]').html("<div class=lol>empty</div>").css("background-color","");
                from = to = null;
            }
        });

    }());​
于 2012-04-22T22:32:37.380 回答
0

我个人不会因为用另一种元素替换一个元素而变得太变形。我只考虑将属性从一个元素交换到另一个元素。从一个元素中删除white-king类并将其添加到另一个元素。

于 2012-04-22T22:32:37.437 回答