Я использую плагин jQuery под названием: jqtransform
Этот плагин использует JavaScript для применения стилей CSS к элементам формы.
У меня проблема в следующем сценарии:
Я создаю страницу поиска с возможностью расширенного поиска.
Когда страница загружается, div, называемый «advancedSearch», скрывается, и он будет отображаться, только если пользователь щелкнет элемент. Внутри div # advancedSearch у меня есть несколько элементов формы.
Однако, если я скрываю div # advancedSearch в стиле CSS: «diplay: none;», плагин jqtransform не будет работать правильно со скрытыми элементами. Поэтому я решил скрыть div # advancedsearch с помощью JavaScript. Это на самом деле работает, и не имеет значения, сделано это после того, как документ готов или нет.
Но ... с помощью решения JavaScript div # advancedSearch остается видимым в течение нескольких миллисекунд ... что визуально раздражает.
Поэтому мне было интересно, будет ли решение этой проблемы в CSS, или в исправлении плагина jqtransform, или даже в том, чтобы найти способ немедленно скрыть div # advancedSearch с помощью JS, сделав его сразу скрытым.
ОБНОВЛЕНИЕ 1
После грубого комментария я решил разместить здесь свою функцию
(обратите внимание, что <% =%> - это теги ASP.Net, которые я использую для получения пути к изображениям)
$('.toggleAdvancedSearch').click(function() {
$('#advancedSearchWrap').slideToggle(250);
$('form.jqtransform').jqTransform({ imgPath: '<%= ResolveClientUrl("~/masterpages/img/jqtransform/") %>' });
return false;
});
ОБНОВЛЕНИЕ 2
Чтобы проверить проблему, я сделал следующее:
Добавлен еще один элемент на страницу с идентификатором «applyStyle», и на клике я вызываю $ («form»). JqTransform ();
Отключено $ ('form'). JqTransform (); от загрузки страницы.
Если я нажму a # applyStyle, перед расширением div # advancedSearch у меня возникнет та же проблема, что и у меня.
Но если я разверну div # advancedSearch и нажму после a # applyStyle, проблема будет решена.
Однако, если я запускаю страницу с помощью $ ('form'). JqTransform (); Функция на нагрузке, я не могу повторно применить его после нажатия a # applyStyle.
Я думаю, что решением может быть: отключение всех элементов, которые находятся внутри div # advancedSearch, и для той же функции, которая расширяет div, сделайте также применение стилей к элементам, которые находятся внутри div # advancedSearch.
Однако я не знаю, как это сделать (нет, если это будет работать).
PS: Кажется, это известная проблема с плагином, но я не могу ждать решения бесконечно.