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);
                }
           });
      });
 });

基本的に、正方形をクリックすると色が保存され、別の正方形をクリックすると色がコピーされます。問題は、3番目の正方形をクリックすると、すでに色を変更している正方形から色がコピーされることです。私に何ができる?

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がnullの場合、これが初めて)をグローバル変数に保存し、その後のクリックでは、この色を使用して、クリックした正方形に割り当てます。それはあなたが望むものですか?

$(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 に答える