Ситуация решилась добавлением в JCSmartFilter.prototype.hideFilterProps в else
$('div.active').removeClass('active');. Итог: JCSmartFilter.prototype.hideFilterProps = function(element) { var easing; var obj = element.parentNode; var filterBlock = BX.findChild(obj, {className:"bx_filter_block"}, true, false); if(BX.hasClass(obj, "active")) { easing = new BX.easing({ duration : 300, start : { opacity: 1, height: filterBlock.offsetHeight }, finish : { opacity: 0, height:0 }, transition : BX.easing.transitions.quart, step : function(state){ filterBlock.style.opacity = state.opacity; filterBlock.style.height = state.height + "px"; }, complete : function() { filterBlock.setAttribute("style", ""); BX.removeClass(obj, "active"); } }); easing.animate(); } else { filterBlock.style.display = "block"; filterBlock.style.opacity = 0; filterBlock.style.height = "auto"; var obj_children_height = filterBlock.offsetHeight; filterBlock.style.height = 0; easing = new BX.easing({ duration : 300, start : { opacity: 0, height: 0 }, finish : { opacity: 1, height: obj_children_height }, transition : BX.easing.transitions.quart, step : function(state){ filterBlock.style.opacity = state.opacity; filterBlock.style.height = state.height + "px"; }, complete : function() { } }); easing.animate(); [B]$('div.active').removeClass('active');[/B] BX.addClass(obj, "active"); } }; Не знаю, насколько данный вариант верный, но вроде работает как надо :) |
Часовой пояс GMT +3, время: 19:16. |