我想更改不同表td中的图像。我想用javascript更改它,因为我正在使用4种不同语言的PHP Session变量。这意味着,我将为一个表格单元格提供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='' />");
});
它正常工作,但是当我移出鼠标时,该功能不起作用。我试着打电话给警报();用于检查警报框是否弹出,但不是。
$(".menu-item").mouseout(function(){
alert('TEST !');
});
答案 0 :(得分:1)
我认为您需要在这种情况下使用mouseleave
而不是mouseout
$(".menu-item").mouseleave(function(){
alert('TEST !');
});
或使用mouseover
代替mouseenter
。
答案 1 :(得分:1)
您使用的是哪个版本的jQuery?我使用最新版本,似乎mouseout / mouseleave存在一些问题
http://bugs.jquery.com/ticket/12366
让我们等到他们解决这个问题?
答案 2 :(得分:0)
我想如果你替换td的html
$(this).html("<img src='images/lang/"+ jsGlobalLang +"_" + item_id + "_hover.gif' alt='' />");
$(".menu-item")
没有鼠标输出,因为没有class = .menu-item
的元素
我没有对此进行测试,但情况可能就是这样