2017-09-08 17 views
-2

http://www.lesha.wemakesites.ru/にモデルがあります。 プラスアイコンにフォーカスすると、「Follow me」ボタンに置​​き換えられます。 私がしたいのは、このボタンをクリックすると "アンフォロー"と表示される赤いボタンに変更することです。誰かがそれを逆転させる方法を知っているなら、 "Unfollow"ボタンがクリックされたときに、それが "Follow"になるようにすることは大変です。クリックするとボタンの内容と色を変更します。

+0

これはささいなことです。何を試しましたか? –

+1

これまでに試したHTML/CSS/JSを提供してください。 –

+0

.block:focus .button-2 {背景:オリーブ; } これは、クリックが発生したときにやろうとしていることですが、少なくとも背景を変更することはありません –

答えて

0

プロジェクトでjqueryをプルします。これはcssだけでは達成できません。

HTMLコード

<button id="btn" class="btn-blue">Follow</button> 

CSSコード

.btn-blue { 
    background-color: blue; 
} 

.btn-red { 
    background-color: red; 
} 

Javascriptを

$('#btn').on('click', function() { 
    if (!$(this).hasClass("followed")) { 
     $(this).addClass("followed btn-red"); 
     $(this).removeClass("btn-blue"); 
     $(this).html("Followed"); 
    } else { 
     $(this).addClass("btn-blue"); 
     $(this).removeClass("followed btn-red"); 
     $(this).html("Follow"); 
    } 
}); 

できるだけシンプルなJSを理解するようにしてください。

+0

このようなクラスの要素がないので、どのように.hasClass( "following")をチェックすることができますか?とにかく、すべてのことが働いていても、この状態にならないでください。 –

+0

#btn要素に従っているクラスがあるかどうかを確認しています。それは働いていますか? –

+0

これはうまくいきますが、ここにはクラスの要素がありません。そうですか?今はクラス「btn-blue」を持っていますか? –

0

私は、ボタンの2つのバージョンを持つことをお勧め、あなたが現在使用中でないもののために

display: none; 

を使用することができます。

ユーザーが次の状態に戻るときに、変数を状態に保存することができます。

let following = true; 
let btn = document.getElementById("btn"); 

if (!!following) { 
    btn.style.dispaly = "none"; 
    following = false; 
} else { 
    btn.style.display = "block"; 
    following = false; 
} 
+0

CSSでこのタスクを完了することは可能ですか? –

+0

私はあなたのコードをもっと正直であるように見なければなりません。 – Dave

関連する問題