1

我想更改不同表 td 中的图像。我想用 javascript 更改它,因为我使用 PHP Session 变量用于 4 种不同的语言。这意味着,一个表格单元格将有 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?我用的是最新的,mouseout/mouseleave 好像有问题

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 = 的元素,因此没有 mouseout.menu-item

我没有对此进行测试,但可能是这种情况

于 2012-08-21T20:05:54.513 回答