JQuery 2 исчезает одновременно - PullRequest
4 голосов
/ 16 апреля 2010

просто еще один быстрый:

Я замечаю различия с fadeOut в зависимости от того, является ли этот целью. Вот моя структура.

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

$(this).next().add(this).fadeOut('slow');

... что работает, но два элемента не исчезают одновременно. this сначала исчезает (это значок обновления), а затем this.next исчезает (значок удаления). Но если я укажу два элемента по имени ...

$('#updS2, #delS2').fadeOut('slow');

тогда они исчезают вместе. Почему это отличается?

Извинения за бессвязную пятницу.

==== EDIT ====

Также заметил задержку при использовании andSelf:

$(this).next().andSelf().fadeOut('slow');

1 Ответ

2 голосов
/ 16 апреля 2010

ОК, я выяснил, в чем проблема. Была предыдущая команда fadeTo, которая действовала на все значки на странице в одном и том же обработчике событий. Я переместил свой код в функцию обратного вызова fadeTo, и теперь он работает. Должен был проверить это первым. Я сейчас ползу обратно под камень ...

Итак, вот код, который я использую. Все мои иконки имеют класс «экшн». Я хотел затемнить все значки на странице, кроме тех в строке, по которой щелкнул пользователь - я хотел, чтобы они полностью исчезли вместе в одном блоке. Это работает.

$('.action').click(function() {
    var me = $(this);
    $('.action').not(this).fadeTo('slow', 0.2, function() {
        $(me).next().add(me).fadeOut('slow');
    }).unbind('click');
)};

Мне пришлось использовать меня, потому что, если бы я использовал это, то исчезли все значки, а не только те, которые я хотел. Возможно, это гораздо лучший способ сделать это, но я подумал, что постараюсь ответить на этот вопрос, даже если ответ был «я ошибся с самого начала» Извините все: S

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...