2012-05-02 42 views
0

進出口新的this.I有這個jQueryjQuery和可變

<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個方塊時,它從方塊中複製顏色,我已經改變了它的顏色。我能做什麼?

+1

真的?? upvoted堆疊點擊處理程序每​​次點擊? –

+0

你知道'$(「。squares div」)。click(function(){...})是幹什麼的嗎? –

+0

是的,它在div上做屬於廣場類 – 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"); 
     } 
    }); 
    }); 
+0

什麼是'squareColor'?哦,錯字。固定。 –

+0

你能解釋一下if語句嗎? – Nusha

+0

@Nusha如果是第一次點擊'colorSource ='''的'.square div'。所以基本上,你點擊第一個div複製顏色並將該顏色粘貼到備份修改後的div的下一個div。 –

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