0

我需要能够在默认隐藏的 div 中平滑淡入淡出。

我正在使用这段代码:

$(".grey_cover").css({
    visibility: "visible"
}).fadeIn(2000, function () {
    $(".popup").css({
        visibility: "visible"
    }).fadeIn(3000);
});

divgrey_cover和默认情况下popupvisibility:hidden。此代码正在运行,但 div 的弹出速度如此之快..这毫秒没有做任何事情..我尝试使用slow选项而不是,milliseconds但仍然存在相同的行为。

我想慢慢淡化它们。

4

4 回答 4

2

你不应该使用visibility这个但是display: none;. 然后删除 jQuery CSS 部分。比你应该没问题。

于 2013-02-02T14:36:16.477 回答
1

用这个

CSS:

.grey_cover {
   visibility: visible;
   display: none;
}

.pop_up {
   visibility: visible;
   display: none;
}

javascript:

 $(".grey_cover").fadeIn(2000, function() { 
     $(".popup").fadeIn(3000);
 });
于 2013-02-02T14:41:13.807 回答
1

如果你不能改变你的 CSS 规则。您可以设置opacity0visibility设置为visible。然后.animate()可以处理动画。

$(".grey_cover").css({
    opacity: 0,
    visibility: "visible"
}).animate({
    opacity: 1
}, 2000, function() {
    $(".popup").css({
        opacity: 0,
        visibility: "visible"
    }).animate({
        opacity: 1
    }, 3000);
});

话虽如此,display在大多数情况下使用更好。

于 2013-02-02T14:49:08.513 回答
0

你在淡入它们之前让它们可见 - 你不需要让它们可见,fadeIn 会处理它。

于 2013-02-02T14:36:38.700 回答