2008-12-05 54 views
2

我想使用jQuery为块级元素设置动画效果。该页面加载与display: none风格的元素。 Id同样喜欢它slideDown透明,然后fadeIn使用回调的内容,但slideDown似乎设置可见性在调用fadeIn之前已满,导致内容在slideDown动画中可见。如何在保持jQuery透明度的同时滑动?

有谁知道一种方法来完成这个?

+0

你能否解释一下什么是滑下来而透明?动画将不会被看到,所以为什么动画 – 2008-12-05 00:58:25

+0

我猜他希望在显示元素之前拍摄垂直空间 – orip 2008-12-05 01:04:24

+0

没错 - 空间被制作出来然后内容出现 – Brendan 2008-12-05 15:35:40

回答

2

几个可能的问题与您的代码:你设置的内容在一开始隐藏呢?在slideDown回拨期间您拨打fadeIn吗?

这里的一些例子HTML /代码,将fadeInslideDown

$('div').hide(); // make sure you hide both container/content 

$('#container').slideDown('slow', function() { 
    $('#content').fadeIn('slow'); // fade in of content happens after slidedown 
}); 

HTML后:

<div id="container"> 
    <div id="content">stuff</div> 
</div> 
0

如何:

$('#hiddenElement').css("opacity", 0).slideDown().animate({opacity:1}) 
0

你的描述听起来像this问题的变化,我不得不对付对方天。

它只发生在IE浏览器,只有当你在怪癖模式渲染。所以简单的解决方案是切换到标准模式。您可以找到一个doctypes表格here,它使IE在标准模式下呈现。

但是,如果你在同样的情况我在哪里,那不是一个选项,那么你可以申请一个补丁,你jQuery库,你可以找到here

0

我需要添加一个liul,并希望它slideDown第一,然后fadeIn

以下为我工作。我不得不先.hide()的内容,然后设置不透明度为0,则附加的内容,然后slideDown(),然后进行动画的不透明度回到1

在下面的代码,“内容”是li,#ListItems是ul

$(content).hide().css("opacity", 0).appendTo("#ListItems").slideDown(500, function() { $(this).animate({ "opacity": 1 }, { queue: false, duration: 500 }); }); 
相关问题