jQuery: FadeOut затем SlideUp

Это будет мое событие нажатия Add_button, хотя я его не запускал, поэтому могут быть некоторые ошибки, но это хорошее начало.

List<string> toSort = new List<string>();    

foreach (var item in FileCabinetsRetrieved.SelectedItems)
        {
            FileCabinetsRetrieved.Items.Remove(item);
            toSort.Add(item);
        }
foreach (var item in FileCabinetsToAdd.Items)
        {
            toSort.Add(item);
        }

toSort = toSort.OrderBy(x => x).ToList();
FileCabinetsToAdd.Items.Clear();
foreach (var item in toSort)
{
    FileCabinetsToAdd.Items.Add(item);
}

Важной частью является очистка списка, а затем добавление всех отсортированных элементов снова.

28
задан Richard Everett 7 December 2014 в 21:32
поделиться

5 ответов

jQuery.fn.fadeThenSlideToggle = function(speed, easing, callback) {
  if (this.is(":hidden")) {
    return this.slideDown(speed, easing).fadeTo(speed, 1, easing, callback);
  } else {
    return this.fadeTo(speed, 0, easing).slideUp(speed, easing, callback);
  }
};

Я протестировал его на JQuery 1.3.2, и он работает.

Редактировать: Этот это код, с которого я его назвал. # slide-then-fade - это идентификатор элемента кнопки, article-text - это класс для тега div:

$(document).ready(function() {
  $('#slide-then-fade').click(function() {
    $('.article-text').fadeThenSlideToggle();
  });
});

Редактировать 2: Изменено для использования встроенного slideUp.

Редактировать 3: Переписано как переключатель и используя fadeTo

41
ответ дан Powerlord 28 November 2019 в 02:21
поделиться
$("#id").fadeIn(500, function () {

    $("#id2").slideUp(500).delay(800).fadeOut(400);

});
1
ответ дан Bo Persson 28 November 2019 в 02:21
поделиться

Функция fadeOut принимает второй необязательный аргумент функции обратного вызова, поэтому вы должны иметь возможность сделать что-то вроде этого:

$('elementAbove').fadeOut(500, function() {
    $('elementBelow').slideUp();
});

EDIT: забыли добавить скорость fadeOut в качестве первого параметра

-1
ответ дан Ian Oxley 28 November 2019 в 02:21
поделиться

Похоже, что было бы лучше использовать команду jQuery fadeTo

 $(function() {

     $("#myButton").click(function() {
         $("#myDiv").fadeTo("slow", 0.00, function(){ //fade
             $(this).slideUp("slow", function() { //slide up
                 $(this).remove(); //then remove from the DOM
             });
         });

     });

});

Рабочая демонстрация здесь .

При выполнении каждой команды в функции обратного вызова предыдущей команды команда не будет выполняться, пока предыдущая не завершится; «прыжок» происходит, когда элемент удаляется из DOM, не дожидаясь завершения слайда.

54
ответ дан Russ Cam 28 November 2019 в 02:21
поделиться

Не можете ли вы связать это?

$('myelement').fadeOut().slideUp();

РЕДАКТИРОВАТЬ :

Может быть это поможет вместо этого?

1
ответ дан Kezzer 28 November 2019 в 02:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: