在悬停时删除我的图像

时间:2012-06-12 13:01:15

标签: javascript jquery css fade

我的菜单结构显示为here

所有项目都有背景img。但是当悬停时,隐藏我的菜单项img。因为,js代码无效,这个img但我不知道如何解决这个问题。

我想,仍然是javascript淡入效果,但不要隐藏我的img。

通常:

enter image description here

问题:(悬停和悬停)

enter image description here

enter image description here

我想:

enter image description here

3 个答案:

答案 0 :(得分:1)

如果你想要的是在悬停时淡化背景,并在悬停时恢复它,那么使用以下js:

$(document).ready(function(){
var bg;
$("#right_menu a").mouseover(function() {
    bg = $(this).css('background-color');
     $(this).animate({ backgroundColor:'#002C6A'},500);
}).mouseout(function() {
    $(this).animate({ backgroundColor:bg},500);
});       
});​

如果您想使用图像,请将背景颜色更改为背景。

行动中:http://jsfiddle.net/3TDF3/2/


更新:重新访问代码。很多问题是css类设置在 li 上,而修改是在 a

上进行的

您正在将背景图像设置为li,但设置动画a。因此,li的背景隐藏着一个新的背景。

$("#right_menu a").mouseover更改为$("#right_menu li").mouseover

答案 1 :(得分:0)

尝试使用背景色而不是图像。当鼠标悬停在链接上时,将背景颜色设置为上一个值。使用背景颜色似乎足够的图像看起来不错。

答案 2 :(得分:0)

试试这个

$(document).ready(function(){
    var backgroundimage = $(this).css("background-image");//store it in a variable
    $("#right_menu a").mouseover(function() {
         $(this).animate({ backgroundColor:'#002C6A'},500);
        $(this).css("background-image","none");//remove it
    }).mouseout(function() {
        $(this).animate({ backgroundColor:'#fff'},500);
        $(this).css("background-image",backgroundimage );//bring it back
    });       
});​