Jquery Slide после раскрытия фильтра - PullRequest
0 голосов
/ 19 марта 2012

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

http://theoaks.turnpostadmin.com/floor-plans/

Что я могу добавить к этому, чтобы это произошло как jquery.easing или что-то еще

Вот то, что я имею до сих пор

    $(document).ready(function() {
     $('#filter a').click(function() {
      $(this).css('outline','none');
      $('#filter .current').removeClass('current');
      $(this).parent().addClass('current');

    var filterVal = $(this).text().toLowerCase().replace(' ','-');

    if(filterVal == 'all') {
        $('ul#portfolio li.hidden').fadeIn('slow').removeClass('hidden');
    } else {

        $('ul#portfolio li').each(function() {
            if(!$(this).hasClass(filterVal)) {
                $(this).fadeOut('normal').addClass('hidden');
            } else {
                $(this).fadeIn('slow').removeClass('hidden');
            }
        });
    }

    return false;
     });
    });

Спасибо

Джейми

1 Ответ

0 голосов
/ 19 марта 2012

Если вы просто хотите, чтобы они скользили вверх и вниз, а не fadeIn и fadeOut, вы можете использовать встроенные анимации: .slideUp() и .slideDown().

Если вы хотите, чтобы они сначала исчезли изатем slideUp, вы можете использовать это:

$(this).fadeTo('normal', 0).slideUp('normal').addClass('hidden');

Вы не можете использовать .fadeOut(), потому что, когда это будет сделано, он скрывает объект, который будет препятствовать работе .slideUp().Но если вы используете .fadeTo(), это просто меняет прозрачность, и вы можете запустить .slideUp().

...