0

1年の12か月(1月から12月)のテーブルがあります

次に、いくつかの月をグループ化します。つまり、janからapr = group1、marからjun=group2です。

だから私がしたいのは、同じグループ名を持つすべてのアイテムの背景色を変更することです。

$('.group1').hover(function() {
    $(this).addClass('tbl_navGroupHover');
}, function() {
    $(this).removeClass('tbl_navGroupHover');
});

$('.group2').hover(function() {
    $(this).addClass('tbl_navGroupHover');
}, function() {
    $(this).removeClass('tbl_navGroupHover');
});

http://jsfiddle.net/Q49Rd/1/

更新、私はこの解決策を採用しました-urの支援のためのtx:

<script>";
for ($i = 1; $i < 13; $i++) {
echo "$('.group$i').hover(function() {
    $('.group$i').addClass('tbl_navGroupHover');
}, function () {
    $('.group$i').removeClass('tbl_navGroupHover');
});";
}
echo "</script>";
4

3 に答える 3

3

thisグループクラス名に置き換えて、toggleClassメソッドを使用することもできます。

$('.group1').hover(function() {
    $('.group1').toggleClass('tbl_navGroupHover');
});

$('.group2').hover(function() {
    $('.group2').toggleClass('tbl_navGroupHover');
});

http://jsfiddle.net/5cAfR/

フィドルにjQueryをロードしていないことに注意してください。

于 2012-10-08T15:07:17.983 に答える
1

thisすべてを変更するために使用されたクラス名を使用しないでください

$(this).addClass('tbl_navGroupHover');

する必要があります

$(".group1").addClass('tbl_navGroupHover');
于 2012-10-08T15:13:30.757 に答える
1

これが違いを生むかどうかはわかりませんが、jqueryのドキュメントでは、「。hover」関数は「handlerIn」関数と「handlerOut」関数の両方を取ります。

次のことを試してみてください。

$('.group1').hover(function() {
    $('.group1').addClass('tbl_navGroupHover');
}, function() {
     $('.group1').removeClass('tbl_navGroupHover');
});

$('.group2').hover(function() {
    $('.group2').addClass('tbl_navGroupHover');
}, function () {
    $('.group2').removeClass('tbl_navGroupHover');
});

これが違いを生むかどうかはわかりません。1つの関数のみを指定して、それを回避できる場合があります。これにより、アイテムの1つにカーソルを合わせると背景色が変更され、アイテムから移動すると色が削除されます。

お役に立てれば。

于 2012-10-08T15:16:20.993 に答える