2012-05-02 6 views
0

イムは、私は、正方形をクリックしたとき、私は別の正方形をクリックして、それがカラーコピーよりも、基本的には、色を保存して、このjqueryの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); 
       } 
      }); 
     }); 
}); 

を持っています。問題は、三角形をクリックすると四角形から色がコピーされます。私はすでにその色を変更しています。私に何ができる?私はあなたが以下試行し、最後に訪問した四角形の色をコピーしたいと思います

+1

本当に??クリックごとにクリックハンドラーを積み重ねるためにupvoted? –

+0

'$("。squares div ")とは何ですか?click(function(){...})'は何をしていますか? –

+0

はいdivにあるそれはsquaresクラスに属します – Nusha

答えて

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"); 
     } 
    }); 
    }); 
document.currentColorがnullの場合、あなただけの(最初のクリックの色を保存
+0

'squareColor'とは何ですか?ああ、タイプミス。一定。 –

+0

if文を説明してください。 – Nusha

+0

@Nusha ifは 'colorSource = '''がある '.square div'の最初のクリックです。つまり基本的に最初のdivをクリックして色をコピーし、その色を次のdivに貼り付けて、修正されたdivをバックアップします。 –

1

- それは最初です時間)をグローバル変数に追加し、その後のクリックではこの色をクリックして、クリックした四角形に割り当てます。それはあなたが欲しいものですか?

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