クリックイベントが発生したときに背景色を表示しようとしていますが、1〜2秒後に背景色をフェードアウトする必要はありません。onClickを使用してフェードインしてフェードアウトする
基本的には、私はactive
のプロパティがcssではなくclickイベントに対して何をしたいのですか。
私の現在のアプローチでは、バックグラウンドカラーをフェードアウトするために2度目のクリックイベントを発生させる必要があります。私はワンクリック
私のアプローチ
handleClick(id) {
this.setState({
active: !this.state.active
})
}
<div className={this.state.active ? "txt_vote_bar_div txt_vote_bar_div_active" : "txt_vote_bar_div txt_vote_bar_div_notactive"}
onClick={this.handleClick()}>
</div>
マイCSS
.txt_vote_bar_div {
width: 100%;
height: 50px;
min-height: 50px;
position: relative;
border: 1px solid #C6C6C6;
border-radius: 5px;
margin-bottom: 10px;
cursor: pointer;
}
.txt_vote_bar_div_active {
background-color: #001f3f;
transition: 1s ease-in-out;
}
.txt_vote_bar_div_notactive {
background-color: #FFFFFF;
transition: 1s ease-in-out;
}
あなたはrefを渡す代わりにハンドラを呼び出しています。このonClick = {this.handleClick()} 'はこのonClick = {this.handleClick}に変更する必要があります –
@CraZyDroiD質問がある場合は、私の答えを見つけてお知らせください。 –