시도해 볼 수 있습니다.
$('#test').click(function(){
var $this = $(this), state = $this.data('state') || '';
if(state == ''){
$this.addClass('greyBg');
$this.data('state', 'unselected');
}
else if(state == 'unselected'){
$this.removeClass('greyBg').addClass('greenBg');
$this.data('state', 'selected');
}
else if(state == 'selected'){
$this.removeClass('greyBg greenBg').addClass('redBg');
$this.data('state', 'clicked');
}
else{
if($this.hasClass('redBg')){
$this.removeClass('redBg').addClass('greenBg');
}
else{
$this.removeClass('greenBg').addClass('redBg');
}
//Here you can make ajax call now
}
});
때마다 당신은 내가 jQuery를 data
방법을 사용하여 그 상태를 유지하고 또한 필요한 로직을 실행하고 클릭합니다. 나는 이것이 당신에게 의미가 있기를 바랍니다.
적절한 스타일로 필수 클래스를 정의하십시오. 다음과 같이
.unselected { background-color: grey; }
.selected { background-color: green; }
.clicked { background-color: red; }
그런 다음 당신이 그들을 사용할 수 있습니다 :
<div id="test" class="unselected">test<div>
을 다음 테스트 요소 후 document.ready 또는 스크립트 블록 (
.greyBg { background-color: grey; }
.greenBg { background-color: green; }
.redBg { background-color: red; }
는'Toggle' 두 가지 상태를 의미한다. 3 가지 상태를 전환 할 수 없습니다. 수동으로 순환시켜야합니다. – Dutchie432