2016-06-25 4 views
1

こんにちはみんな、私はこのコードどのようにそれがスタイルは変わりますが、私は再びそれにreclickとき、それは削除私はそれをクリックしたときにそれを作りたい

panelPlusK.append('<div id="foo">click To change the style</div><br>'); 

$('#foo').click(function() { 
    $('.agario-panel').css({ 
     'background-color': 'rgba(32, 68, 102, 0.72)', 
     'color': '#E91E63', 
     'border-color': '#2196F3', 
    }); 
    $('.agario-panel input, .agario-panel select').css({ 
     'background-color': 'rgba(44, 125, 116, 0.55)', 
     'color': '#23ff8d', 
    }); 
}); 

を持って、このコードで.toggleClass()を使用スタイルは..I toggleClassののfuctionを見ましたが、私はそこにimplemt

答えて

3

単にいくつかのクラスにスタイルを移動し、それをトグルする方法を知らない:

$('#foo').click(function() { 
    $('.agario-panel').toggleClass('highlighted'); 
}); 

CSSであなたのようなものを持っているでしょうどこ:

/* default styles of the panel */ 
.agario-panel { 
    background-color: rgba(44, 125, 116, 0.55); 
    color: #23ff8d; 
} 
/* highlighted styles overwrite default */ 
agario-panel.highlighted { 
    background-color: rgba(32, 68, 102, 0.72); 
    color: #E91E63; 
    border-color: #2196F3; 
} 

一般的なアドバイスとして、要素をスタイリングするにはcssメソッドを使用しないでください。ほとんどの場合、addClassremoveClasstoggleClassの方が良いでしょう。このようにして、JSコードがCSSスタイルから独立している場合に大きな柔軟性が得られます。心配の分離=>より良いコードの質、より良い保守。

+0

@PeterRaderは、私は答えにメモを追加しました。 – dfsq

+0

ありがとうございました:)しかし、私は2つの要素のスタイルを変更したいですか? toggleClass( 'highlighted')は、$ {'foo'}をクリックすると、 ); }); 'thiはアガリオパネルのスタイルだけを変えるつもりです –

+0

この場合も何も変わりません。 toggleClass( 'highlighted'); '' $( '、.agarioパネル入力、.agarioパネル選択')です。 CSSだけで、 '.agario-panel.highlighted {}'と '.agario-panel input.highlighted、.agario-panel select.highlighted {...}'に適切なスタイルを定義する必要があります。 – dfsq

1
.style {  
    background-color: rgba(32, 68, 102, 0.72); 
    color: #E91E63; 
    border-color: #2196F3; 
    background-color: rgba(44, 125, 116, 0.55); 
    color: #23ff8d; 
} 

$('#foo').click(function() { 
    $('element').toggleClass('style'); 
} 

fooをクリックすると、要素にCSSスタイルが追加されます。もう一度クリックすると、スタイルクラスが削除されます。

私はクラスが間違ったスタイリングを持っているかもしれないが、うまくいけばアイデアを得ることができます!

1

あなたが使用することができます.addClass()と.removeClass()

$("#foo").click(function() { 
 
$("#foo").addClass("agrario-panel"); 
 
}); 
 

 
$("#remove").click(function() { 
 
$("#foo").removeClass("agrario-panel"); 
 
});
.agrario-panel { 
 
     background-color: rgba(32, 68, 102, 0.72); 
 
     color: #E91E63; 
 
     border-color:#2196F3; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="foo">Click to change </div> 
 
<div id="remove">Click to Remove</div>

関連する問題