2017-06-13 10 views
0

シンプルなボタンのスタイルを作りました。このボタンはドロップダウンメニューを開きます。メニューが開いている限り、ボタンは押されたボタンのスタイルを持つ必要があります。ボタンをデフォルトから押した状態に戻す

どのようにこれらの状態を切り替えることができますか?私はそこにいくつかのJavaScriptを使用する必要がありますか? onClick=functionName()を使用することができますが、どのようにデフォルトに戻すことができますか?

.btn { 
 
    cursor: pointer; 
 
    font-weight: bold; 
 
    border-style: solid; 
 
    border-radius: 10px; 
 
    padding: 10px 15px 10px 15px; 
 
} 
 

 
#menuBtn { 
 
    margin-right: 0; 
 
    color: #ffffff; 
 
    border-color: #3c3e42; 
 
    background: linear-gradient(#5e5f64, #3c3e42); 
 
} 
 

 
#menuBtnPressed { 
 
    margin-right: 0; 
 
    color: #666666; 
 
    border-color: #3c3e42; 
 
    background: linear-gradient(#2b2d32, #3c3e42); 
 
}
<button class="btn" id="menuBtn">Default</button> 
 

 
<button class="btn" id="menuBtnPressed">Pressed</button>

答えて

1

あなたはまだ:activeを使用して試していない場合は、その後、私はそれを開始します。しかし、ここではボタンで使用できる2つの州があります。

:アクティブ:ボタンがクリックされたときにのみ背景色を表示したい場合は、持続することは望ましくありません。

:フォーカス:フォーカスがオフになるまで背景色が必要な場合 ボタン。

+0

:フォーカスが1 :)感謝です! – Question3r

1

2つのIDではなくクラスを使用し、クリックするだけでオンとオフを切り替えることができます。

function togglePressed(){ 
 
    document.getElementById('menuBtn').classList.toggle('pressed'); 
 
}
.btn { 
 
    cursor: pointer; 
 
    font-weight: bold; 
 
    border-style: solid; 
 
    border-radius: 10px; 
 
    padding: 10px 15px 10px 15px; 
 
} 
 

 
#menuBtn { 
 
    margin-right: 0; 
 
    color: #ffffff; 
 
    border-color: #3c3e42; 
 
    background: linear-gradient(#5e5f64, #3c3e42); 
 
} 
 

 
#menuBtn.pressed { 
 
    margin-right: 0; 
 
    color: #666666; 
 
    border-color: #3c3e42; 
 
    background: linear-gradient(#2b2d32, #3c3e42); 
 
}
<button class="btn" id="menuBtn" onclick="togglePressed()">Default</button>

+1

ありがとうございます:私は考えています:フォーカスは私が探していた正しいことです:) – Question3r