【发布时间】:2014-08-29 11:42:32
【问题描述】:
我编写了一些 jQuery 代码来帮助我制作网站徽标的动画。
它应该在一秒钟内从顶部淡入到 80% 的不透明度,之后它有可能在鼠标悬停时从 80% 到 100% 的不透明度来回淡入。
目前,我的网页按预期从顶部淡入徽标超过一秒钟,但是当我将鼠标悬停然后将其移开时,它会淡入完全不透明度并且仅达到 80%。鼠标悬停之后就可以正常工作了。
这是我的代码:
$(document).ready(function () {
var fadeInTime = 1000;
$('.navigation .logo').animate({
opacity: 0
}, 0);
$('.right ul').animate({
opacity: 0
}, 0);
$('.navigation .logo').animate({
marginTop: '48px',
opacity: '0.8'
}, fadeInTime).queue(function () {
$('.right ul').animate({
marginTop: '48px',
opacity: '0.8'
}, fadeInTime)
});
$('li > a').mouseenter(function () {
$(this).fadeTo('fast', 1);
});
$('li > a').mouseleave(function () {
$(this).fadeTo('fast', 0.8);
});
$('.logo img').mouseenter(function () {
$(this).fadeTo('fast', 1);
});
$('.logo img').mouseleave(function () {
$(this).fadeTo('fast', 0.8);
});
});
【问题讨论】:
-
@Liam 与在页面加载时将其从 0 淡入到 .8 有何相同之处?
-
没有。它将在 0.8 时加载。
-
离题:您可以通过链接 mouseenter/leave 函数来简化代码,或者使用
hover()。 -
你应该使用 CSS 来处理加载动画之后的悬停动画。只需设置
.logo img:hover {opacity: 1.0;}并为.logo img设置您想要的动画类型
标签: jquery jquery-animate opacity