В моем сценарии я работал на странице поиска, где во время загрузки формы есть окно поиска с небольшим количеством параметров поиска, и пользователь может сделать поиск конкретным, нажав на кнопку расширенного поиска, которая будет $.slideToggle()
скрытый div, содержащий расширенные параметры поиска.Проблема, с которой я столкнулся, заключалась в том, что jqTransform
устанавливает высоту и ширину любого элемента формы, который он преобразует, если он скрыт, используя свойство display:none
таблицы стилей, которое я использовал, чтобы скрыть дополнительные параметры div
до того, как $.slideToggle()
установит его для блокировки,поэтому я установил ширину и высоту преобразованных элементов, написав функцию обратного вызова для $.slideToggle()
$("#advancedSearchDIV").slideToggle("slow", function(){
$("#advancedSearchDIV div.jqTransformSelectWrapper ul").each(
function() {
$(this).width(246);
var height = 24;
if($(this).children().length >= 6){
height = 5 * height;
} else {
height = ($(this).children().length - 1) * height;
}
$("#advancedSearchDIV div.jqTransformSelectWrapper ul").height(height);
$("#advancedSearchDIV div.jqTransformSelectWrapper ul").css("overflow","auto");
});
});