Основная справка по jQuery slideUp / slideDown - PullRequest
1 голос
/ 10 сентября 2009

Мне было интересно, есть ли функция, которую я могу добавить к этому, которая будет показывать данные снова, например, заставляя их скользить вниз или что-то еще через определенный промежуток времени, чтобы вы могли вернуться и снова ввести свой данные.

В настоящее время он просто перемещается вверх после отправки, а затем показывает текст.

 $("#help").slideUp(function() {
$("#help").before('<div class="failMessage">SOME FAIL TEXT HERE</div>');
setTimeout(ShowControlsHideFailMessage,5000);
 });

    function ShowControlsHideFailMessage()
    {
       $("#help").slideDown();
       $('.failMessage').addClass('hidden');
    }

Ответы [ 2 ]

3 голосов
/ 10 сентября 2009

Пример кода ниже будет использовать функцию setTimeout для вызова $ ("# help"). SlideDown () через 5 секунд. Кроме того, если вы хотите скрыть «FAIL TEXT», я бы предложил использовать класс CSS для этого сообщения, например:

$("#help").slideUp(function() {
   $("#help").before('<div class="failMessage">SOME FAIL TEXT HERE</div>');
   setTimeout(ShowControlsHideFailMessage, 5000);
});

function ShowControlsHideFailMessage()
{
   $("#help").slideDown();
   $('.failMessage').addClass('hidden');
}

Вы можете использовать класс failMessage для красных шрифтов или что-то особенное для этого сообщения, а затем создать скрытый класс, для которого для отображения не задано значение.

1 голос
/ 21 июля 2010

Вот лучший способ:

var failMessage = $('<div class="failMessage" />');
failMessage.text('SOME FAIL TEXT HERE');
//Create the failMessage beforehand

$("#help")
    .slideUp(function() {
        $(this).before(failMessage);
    })
    .delay(5000)
    .slideDown(function () {
        failMessage.hide();
    }​);​
...