1

こんにちは私は次のことをしようとしています:

onMouseOver次のことを行います。1。テーブルの周囲に黒い境界線を提供する既存のクラス(navLinkTD)を削除します。2.新しいクラス(navLinkTDActive)を追加します。これは、上下左右の境界線を提供しますが、下部の境界線を小さな矢印に変更する背景画像を備えています。

マウスがアクティブ領域を離れたら、次のようにします。3.navLinkTDActiveクラスを削除したい4.navLinkTDクラスを再度追加したい

何が起こっているのかというと、onMouseOver/hoverですべてのスタイリングが削除されます。アクティブ領域からカーソルを削除すると、navLinkTDActiveクラスが表示されます。

これが問題を引き起こしているコードのセクションです:-

$(".navLinkTD").hover(
        function() { $(this).removeClass("navLinkTD"); },                                 
        function() { $(this).addClass("navLinkTDActive"); },
        function() { $(this).removeClass("navLinkTDActive"); },
        function() { $(this).addClass("navLinkTD"); }
        );
4

3 に答える 3

5

hover 関数に 4 つの引数を渡していますが、2 つしか受け付けません。次のようにコードを並べ替えてみてください。

$(".navLinkTD").hover(
        function() { 
                $(this).removeClass("navLinkTD");                                                              
                $(this).addClass("navLinkTDActive");
        },
        function() {
                $(this).removeClass("navLinkTDActive");        
                $(this).addClass("navLinkTD");
        }
);

jquery は連鎖をサポートしているため、オプションでステートメントを次のようなものに減らすことができます。

$(this).removeClass("navLinkTD").addClass("navLinkTDActive");
于 2009-07-15T01:54:46.183 に答える
0

必要なのは2つの機能だけです。1 つはオーバー用、もう 1 つはアウト用です。それらを組み合わせます。

于 2009-07-15T01:54:31.753 に答える
0

.hover は 2 つの関数パラメーターのみを受け取ります。これを試して:

$(".navLinkTD").hover(
        function () { $(this).removeClass("navLinkTD").addClass("navLinkTDActive"); },
        function () { $(this).removeClass("navLinkTDActive").addClass("navLinkTD"); }
        );
于 2009-07-15T01:56:57.100 に答える