1

別のテーブル td のイメージを変更したい。4 つの異なる言語に PHP セッション変数を使用しているため、javascript で変更したいと考えています。つまり、表の 1 つのセルに 8 つの異なる画像 (1 つの言語に 2 つの画像、通常の画像とホバー画像) があります。

次のコードがあります。

var jsGlobalLang = "<?php echo $_SESSION['lang'];?>";

$(".menu-item").mouseenter(function(){

    var item_id = "";

    switch(this.id)
    {
        case 'home' : { item_id = "acasa";break; }
        case 'proiectaredecasa' : { item_id = "proiectare";break; }
        case 'caseconstruite' : { item_id = "case_construite";break; }
        case 'avantaje' : { item_id = "avantaje";break; }
        case 'oferte' : { item_id = "oferte";break; }
    }

    $(this).html("<img src='images/lang/"+ jsGlobalLang +"_" + item_id + "_hover.gif' alt='' />");
});

動作していますが、マウスを離すと機能しません。alert(); を呼び出そうとしました。アラートボックスがポップアップするかどうかを確認する関数ですが、そうではありません。

$(".menu-item").mouseout(function(){
   alert('TEST !');
});
4

3 に答える 3

1

どのバージョンの jQuery を使用していますか? 私は最新のものを使用していますが、マウスアウト/マウスリーブに問題があるようです

http://bugs.jquery.com/ticket/12366

彼らがこれを修正するまで待ちましょうか?

于 2012-08-27T10:37:17.690 に答える
1

mouseleaveではなく、この状況で使用する必要があると思いますmouseout

$(".menu-item").mouseleave(function(){
   alert('TEST !');
});

またはmouseoverの代わりに使用しmouseenterます。

于 2012-08-21T20:07:50.767 に答える
0

まあ、tdのhtmlを置き換えると思います

 $(this).html("<img src='images/lang/"+ jsGlobalLang +"_" + item_id + "_hover.gif' alt='' />");

$(".menu-item")class = の要素がないため、からのマウスアウトはありません.menu-item

私はこれをテストしませんでしたが、これは事実かもしれません

于 2012-08-21T20:05:54.513 に答える