我见过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);
什么都不做!
答案 0 :(得分:2)
您应该将延迟和slideUp放入初始slideDown函数的回调中
一旦slideDown完成,将在回调中执行代码。
Heres a jsfiddle - http://jsfiddle.net/FK2Fd/1/
$(function(){
$('.flash_message').slideDown(800, function(){
$(this).delay(500).slideUp(1000);
});
});