0

クリックイベントがあります。この例を見てみましょう。

$('p').click( function() {
    $('.xclass').css( { 'background' : 'green' } );
}); 

上記のコードは、pタグをクリックすると、divの背景色を変更します。

今、私の質問は、色を黄色に変更したい同じpタグをもう一度クリックすることです!!。これどうやってするの?。

4

5 に答える 5

1
var clicked_once = false;

$('p').click( function() {
    $('.xclass').css( { 'background' : 'green' } );
    if ( clicked_once ) $('.xclass').css('color', 'yellow');
    clicked_once = true;
}); 

最初のクリック後に変数を変更して、前に一度クリックしたことがあることを確認します。私はグローバル変数よりもdata()を使用する方が好きですが、変数はそれをよりよく示しています。

于 2013-02-19T17:07:13.827 に答える
0

クラスを使用してそれを行うことができますが、これはおそらくより良いアプローチです。

$('p').click(function(){
    if($(this).hasClass('green')){
        $(this).removeClass('green');
        $(this).addClass('yellow');
    } else {
        $(this).addClass('green');
    }
});
于 2013-02-19T17:07:47.043 に答える
0

このような?

$('p').click( function() {
    var color = $('.xclass').css('background-color');
    if(color=='green')
        $('.xclass').css( { 'background' : 'yellow' } );
    else
        $('.xclass').css( { 'background' : 'green' } );
}); 
于 2013-02-19T17:06:01.957 に答える
0

以下のようにしてみてください...

フィドル: http: //jsfiddle.net/RYh7U/95/

HTML:

<p>Click</p>
<div class="xclass">hiasg sdnhfg sdfg</div>

CSS:

.green
{
    background:green;
}
.yellow
{
    background:yellow;

}

JQuery:

    $('p').click( function() {

    if($('.xclass').hasClass("green"))
    {
      $('.xclass').removeClass("green");
      $('.xclass').addClass("yellow");
    }
    else
    {
        $('.xclass').removeClass("yellow");
        $('.xclass').addClass("green");    
    }
    });
于 2013-02-19T17:11:51.450 に答える
0

これはjsFiddleでチェックして動作します...

$('p').click( function() {
    if($(".xclass").css("background-color") == "rgb(0, 128, 0)")
    {
        $('.xclass').css( { 'background-color' : 'yellow' } );
    }
    else
    {
        $('.xclass').css( { 'background-color' : 'green' } );
    }
});
于 2013-02-19T17:13:58.067 に答える