2010-12-17 2 views
2

을 추가, JQuery와 스크립트는 사업부를 클릭 할 때 클래스에 추가합니다. red 클래스는 ... 너무에 .blue, .red, .blue 등을 추가 할 것이다 다음 번을 추가대체 내가 3 개 DIV의의를 jQuery를

내 스크립트 ANS 당신 the in this demo이있다 할 수 있습니다

var $a = $('.box'); 
$a.click(function(){ 

     $(this).addClass('red'); 
}); 

내가 아니에요 미안 해요 더 많이 공유하지만, 나의 무시 무시한 시도는 단지 혼란스러워 할 것입니다.

나 자신을 분명히했으면 좋겠어.

미리 감사드립니다.

UPDATE :

나는 질문은 내가 더 설명하려고합니다 있도록 충분히 명확하지 않았다 생각합니다. 필요 bascially 세 DIV, 첫 번째 클릭 것이 무엇

은 두 번째는 블루로 클릭집니다, 빨간색로 클릭 사업부를 회전 및 등등 빨간색, 그들은 (회전 이동 전환한다 빨강 또는 파랑을 클릭하면 첫 번째 클릭 만 계산됩니다)

답변

7

EDIT : 아래의 설명에 따르면 클릭 한 후속 항목마다 색상을 번갈아 가며 경의를 표하지 말라.

이 그것을 수행해야합니다

예 :이 변수 주위에 포장 클로저를 사용http://jsfiddle.net/patrick_dw/zUdWq/

$('a').click((function() { 
    var i = 0; 
    var colors = ['blue','red']; 
    return function() { 
     $(this).addClass(colors[i = ++i % 2]).unbind('click'); 
    }; 
})()); 

합니다. 당신이 그것을 원하지 않거나 필요로하지 않는다면, 여기에 종결이없는 한 똑같은 것이 있습니다.

예 :http://jsfiddle.net/patrick_dw/zUdWq/1/

var i = 0; 
var colors = ['blue','red']; 

$('a').click(function() { 
    $(this).addClass(colors[i = ++i % 2]).unbind('click'); 
}); 

원래 답 :

$a.addClass('red').click(function(){ 
    $(this).toggleClass('red blue'); 
}); 

이는 red 클래스를 추가하여 시작 페이지가로드 될 때, 다음 것이다 이후 전환 redblue 각 cl에 ick. 당신이 항목에 대한 모든 클래스없이 시작하고 싶었다면

, 당신은이 작업을 수행 할 수 있습니다 : 깔끔한

$a.click(function(){ 
    if(!this.className) { 
     this.className = 'red'; 
    } else { 
     $(this).toggleClass('red blue'); 
    } 
}); 
+0

을! 나는'toggleClass'가 여러 클래스를 수용했다는 것을 몰랐다 – Eric

+0

그것은 훌륭하다! 고맙습니다!!내가 정확히 물어 보지 않았기 때문에 (내가 잘못 설명했기 때문에!) 나는 그것을 수정하려고하고, 아마도 나중에 물을 것이다. :) – Trufa

+0

@ 패트릭 그 일은 내가 토글을하고 싶지 않다는 것이다. 내 의견은 그들이해야 할 일이다. 이전에 돌아갈 수 있어야합니다. 이전에 선택한 것과 같은 상태로 유지되지만 현재는 빨간색 파란색 파란색입니다. 나는 내가 자신을 설명했는지 모르겠다. – Trufa