javascript - 如何通过 jQuery 使用淡入淡出添加类和删除类?

标签 javascript jquery css addclass removeclass

我正在尝试将一幅图像淡入另一幅图像。我通过在悬停时使顶部图像透明来尝试 CSS 路由,但这在我的情况下不起作用。在我的例子中,在悬停时,我试图将我的标志淡化到我的标志中。 Logo 不是完美的形状,因此将两张图片叠放在一起是多余的,因为用户可以看到“上方”​​图片,也就是带有发光的 Logo ,而无需将鼠标悬停在上面。

我找到了 jQuery 的 addClassremoveClass 并且认为它可以工作。到目前为止,除了没有发生褪色外,它已经发生了。相反,它只是立即切换到悬停图像。
<强> Here's a Fiddle of my code ,除了我的logo换成了苹果,上面的logo换成了橘子,因为我的logo图片是本地存的。

我在 Fiddle 中的 JavaScript 是这样的:

$(document).ready(function() {
    $('img#logo').hover(
   function(){ $(this).stop(true).addClass('over', 500) },
   function(){ $(this).stop(true).removeClass('over', 500) });
});

这是我的 HTML:

<img id="logo" class="top" width="256" height="256" />

还有我的 CSS:

img.top {
    background-image: url('https://pbs.twimg.com/profile_images/3588564988/ca2ec46372bf01eff59044dd0046132c.jpeg');
}

img.over {
    background-image: url('http://icons.iconarchive.com/icons/gcds/chinese-new-year/256/orange-icon.png');
}

想法?谢谢!

最佳答案

尝试使用过渡

#logo{
    transition: background-image 2s;
    -moz-transition: background-image 2s;
    -webkit-transition: background-image 2s;
}

演示:Fiddle


由于目前只有 Chrome 支持背景图像转换,请尝试 fadeOut()

<div id="logo" class="top" />

然后

#logo {
    width:256px;
    height:256px;
    background-image: url('https://pbs.twimg.com/profile_images/3588564988/ca2ec46372bf01eff59044dd0046132c.jpeg');
}
#logo.over {
    background-image: url('http://icons.iconarchive.com/icons/gcds/chinese-new-year/256/orange-icon.png');
}

$(document).ready(function () {
    $('#logo').hover(function () {
        $(this).stop(true, false).fadeTo(500, .1, function () {
            $(this).addClass('over').fadeTo(500, 1)
        })
    }, function () {
        $(this).stop(true, false).fadeTo(500, .1, function () {
            $(this).removeClass('over').fadeTo(500, 1)
        })
    });
});

演示:Fiddle

关于javascript - 如何通过 jQuery 使用淡入淡出添加类和删除类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21593092/

相关文章:

jquery - 在嵌入式谷歌地图中隐藏顶部栏

javascript - jQuery眨眼(),罢工()和粗体方法

javascript - jQuery 从父选择器获取 id?

javascript - 如何改变这个iframe内容?

javascript - 重新加载页面时随机化内容不循环

css - 关于CSS表单布局的问题

javascript - 未捕获的类型错误 : Cannot read property 'className' of undefined?

javascript - 删除具有特定名称的 div

javascript - 如何在 Meteor-Angular 应用程序中安装 Bower 组件

javascript - 带有 Asp.NET 代码的 JQuery 消息