2012-01-08 16 views
1

現在、CSS境界プロパティがあります(border-left:1px)。onClickでは、以下の最初のjQuery関数を使用して削除しました。 2番目の機能が2番目のクリック時にプロパティを追加するように、これを設定するにはどうすればよいですか?クリックごとに前後に切り替える必要があります。 jQueryのをtoggleClassjQueryの条件付きCSSプロパティの追加と削除

ので

.button { border-left: 1px; } 
.buttonClicked { border-left: none; } 

そして使用:www.jsfiddle.net/tonynggg/frnYf/12

答えて

5

が、CSSクラスを定義するために容易になるだろう:

$(function(){ 
    $('#button').click(function() {  
     $('#button-2').css('border-left','none'); 
    }); 
    $('#button').click(function() { 
     $('#button-2').css('border-left','1px'); 
    }); 
}); 

は、私は今、元のコードが含まれていますあなたのコードは次のようになります:

$(function(){ 
    $('#button').click(function() {  
     $('#button-2').toggleClass('buttonClicked'); 
    }); 
}); 

これで、クリックしたときに代替CSSクラスがオフに切り替わります。それ以外の場合は、正しい方向を指すようにしてください。

+1

を。これは、JavaScriptファイルにCSSをハードコーディングするよりもはるかに優れ最善の方法、です。興味深いもの: –

+0

'toggleClass'メソッドを認識していませんでした。 – xbonez

+0

@M_M残念ながら、私はそれを働かせることができませんでした。ここに元のコードはあります:http://jsfiddle.net/tonynggg/frnYf/12/ – Tony

1

まず、境界線を持つクラスを作成します。その後、

.borderclass 
{ 
    border-left:1px black solid; 
} 

そして、

$(function(){ 
$('#button').click(function() {  
    if ($('#button-2').hasClass('borderclass')) 
     $('#button-2').removeClass('borderclass'); 
    else 
     $('#button-2').addClass('borderclass'); 
    }); 

}); 
+0

このコードは残念なことに動作しません。正しい解決策のように見えますが、#button-2はクラスではないので、「hasClass」は機能しない可能性があります。 – Tony

+0

@トニーそれはうまく動作します。 jsfiddle:http://jsfiddle.net/H3mtx/1/を参照してください。 – xbonez

関連する問題