Jquery将mouseout上的图标淡化为mouseenter之前的值

时间:2013-01-23 17:19:10

标签: jquery css fadeto

我有这个代码,它会在mouseenter上将某些图标淡化为不透明度1.0,并在mouseleave上淡化为0.3。它工作得很好,除了我已经在不同的响应视图中将这些图标设置为不透明度0.13,但是下面的代码仍然将它们淡化为0.3而不是0.13鼠标输出,这不是我想要的。

$(".social-holder img").on("hover", function(e) {
    if(e.type == "mouseenter") {
        $(this).fadeTo('fast', 1.0);
    }
    else if (e.type == "mouseleave") {
        $(this).fadeTo('fast', 0.3);
    }
});

我尝试了下面的代码,我不明白为什么它不会工作。它在mouseleave上将图标保留为1.0

$(".social-holder img").on("hover", function(e) {
    var currentOpacity = $(this).css('opacity');
    if(e.type == "mouseenter") {
        $(this).fadeTo('fast', 1.0);
    }
    else if (e.type == "mouseleave") {
        $(this).fadeTo('fast', currentOpacity);
    }
});

顺便说一下,当我用控制台检查时,var currentOpacity似乎工作得很好,但它似乎没有进入else if语句。也许我对范围或某些事情有一些误解。

0 个答案:

没有答案