jquery $ .slideUp () работает хорошо, но $ .slideDown () не работает вообще - PullRequest
0 голосов
/ 27 января 2012

Ребята, которых я видел jQuery: slideUp () delay () затем slideDown;не работает , я точно закодировал:

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

, но, похоже, slideDown не работает.

Другими словами:

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

и

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

являютсявыдает тот же результат!


PHP-код, который генерирует элемент .flash_message: (я использую 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 Ответ

2 голосов
/ 27 января 2012

Вы должны поместить задержку и slideUp в обратный вызов исходной функции slideDown

Код в обратном вызове будет выполнен после завершения slideDown.

Здесь jsfiddle - http://jsfiddle.net/FK2Fd/1/

$(function(){

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

});
...