Показать сообщение отдельно
  #1 (permalink)  
Старый 10.08.2013, 16:51
Аспирант
Отправить личное сообщение для zevilz Посмотреть профиль Найти все сообщения от zevilz
 
Регистрация: 24.05.2012
Сообщений: 93

галерея с сортировкой по категории
Есть страница категории с товарами. По умолчанию видны все товары из категории. Наверху страницы есть список с подкатегориями, при нажатии на которых исчезают те товары которые не соответствуют подкатегории. Подробности работы скрипта и демо вот здесь. При этом все неподходящие блоки захлапываются через animate(), что как то напрягает и жестоко смотрится при большом количестве товаров.
$(document).ready(function() {
 $('.menu li a').click(function() {
  $('.menu li').removeClass('selected');
  $(this).parent('li').addClass('selected');
    imgWidth = '52px';
    thisItem 	= $(this).attr('rel');
    if(thisItem != "all") {
     $('.item li[rel='+thisItem+']').stop()
       .animate({'width' : imgWidth, 
	 'opacity' : 1, 
	 'marginRight' : '.5em', 
	 'marginLeft' : '.5em'
     });
     $('.item li[rel!='+thisItem+']').stop()
      .animate({'width' : 0, 
      'opacity' : 0,
      'marginRight' : 0, 
      'marginLeft' : 0
     });
   } else {
    $('.item li').stop()
    .animate({'opacity' : 1, 
    'width' : imgWidth, 
    'marginRight' : '.5em', 
    'marginLeft' : '.5em'
   });
}
})

Сделал вот так:
.....
....
$('.item li[rel='+thisItem+']').stop().fadeIn()
  .animate({'width' : imgWidth, 
   'opacity' : 1, 
   'marginRight' : '.5em', 
   'marginLeft' : '.5em'
}, 700 );
$('.item li[rel!='+thisItem+']').stop()
  .fadeOut();
.....
.....

Сейчас все товары плавно исчезают и появляются, но при исчезновении ненужных товаров нужные резко перемещаются друг к другу. Как сделать плавное перемещение появившихся товаров друг к другу в то время, пока исчезают другие. Где-то видел такую реализацию, но так и не нашел. Борюсь с этим.

Последний раз редактировалось zevilz, 11.08.2013 в 16:52.
Ответить с цитированием