jquery $ .slideUp()效果很好,但$ .slideDown()根本不起作用

时间:2012-01-27 15:32:12

标签: jquery jquery-animate slidedown slideup

我见过jQuery: slideUp() delay() then slideDown; not working的家伙,我完全编码:

$('.flash_message').slideDown(800).delay(5000).slideUp(1000);

但是slideDown似乎不起作用。

换句话说:

``$( 'flash_message。')了slideDown(800).delay(5000).slideUp(1000);`

$('.flash_message').delay(5000).slideUp(1000);

正在产生相同的结果!


生成.flash_message元素的PHP代码:(我使用codeigniter)

if ($this->session->flashdata('message_array'))
{
    foreach($this->session->flashdata('message_array') as $message)
    {
        echo "<div class='flash_message {$message[0]}'>{$message[1]}</div>";
    }
}

生成示例HTML:

<div class="flash_message success">Event added successfully.</div>

更新:我遇到了问题:

slideDown根本不起作用

$('.flash_message').slideDown(800);

什么都不做!

1 个答案:

答案 0 :(得分:2)

您应该将延迟和slideUp放入初始slideDown函数的回调中

一旦slideDown完成,将在回调中执行代码。

Heres a jsfiddle - http://jsfiddle.net/FK2Fd/1/

$(function(){

    $('.flash_message').slideDown(800, function(){
       $(this).delay(500).slideUp(1000); 
    });

});