0

我是新手。我有这个 jquery

<script type="text/javascript">
 $(document).ready(function () {
      $(".squares div").click(function () {
           var colorSource = $(this).css("background-color");
           $(".squares div").click(function () {
                $(this).css("background-color", colorSource);
                }
           });
      });
 });

基本上,当我单击正方形时,它会保存颜色,然后单击另一个正方形并复制颜色。问题是当我点击第三个方块时,它会从方块中复制颜色,我已经改变了它的颜色。我能做些什么?

4

2 回答 2

3

我想你想复制上次访问的正方形的颜色,然后试试下面,

  $(function () {
    var colorSource = '';
    $(".squares div").click(function () {

       if (colorSource== '') {
          colorSource= $(this).css("background-color");
       } else {
          $(this).css("background-color", colorSource);
          colorSource = ''; 
         //Originally ^-- colorSource= $(this).css("background-color");
       }
    });
  });
于 2012-05-02T21:04:28.097 回答
1

您只需将第一次单击的颜色(如果 document.currentColor 为空 - 这是第一次)存储在全局变量中,对于随后的单击,您只需采用此颜色并将其分配给您单击的方块。那是你要的吗?

$(document).ready(function () {
    document.currentColor = null;
      $(".squares div").click(function () {
       if (document.currentColor == null) {
              document.currentColor = $(this).css("background-color");
       } else {
                $(this).css("background-color", document.currentColor);
       }
      });
 });
于 2012-05-02T21:14:52.210 回答