1

特定のクラス(「現在」)が存在する場合、タブがクリックされたときに1つの要素のCSSを調整する必要があります。タブがクリックされると、クラス「current」が追加されます。私が持っているコードは機能しますが、2回のクリックが必要です。最初のクリックでクラスが追加され、2回目のクリックでjQueryがそれを検出するためだと思います。jqueryコードは次のとおりです。

    $('ul.tabs a').click(function() {
     if($('a#tab5').hasClass('current')) {
        $('#rightCorner').css("top","1px");
     } else {
        $('#rightCorner').css("top","7px");
     };
})

ワンクリックで動作させる方法はありますか?

ありがとう-ジョー

4

2 に答える 2

0

クラスを追加するコードと、currenttab5 を監視するこのクリック ハンドラーを組み合わせることができますか? これにより、クラスを追加してからチェックを実行できます。あなたの場合、操作の順序が間違っています。

$('ul.tabs a').click(function() {     
     $('ul.tabs a').removeClass('current');
     $(this).addClass('current');
     if (this.id == 'tab5') {
          $('#rightCorner').css("top","1px");
     }
     else {
          $('#rightCorner').css("top","7px");
     }
})

アップデート:

おそらく、if ステートメントの代わりに CSS を使用してタブ 5 を処理する方が簡単です。

ul.tabs a#tab5 { top: 7px; }
ul.tabs a#tab5.current { top 1px; }
于 2012-08-24T22:08:35.527 に答える
0

ブランチでは、else追加する必要がある場合があります

$('a#tab5').addClass('current');
于 2012-08-24T22:14:39.590 に答える