Эффект jquery-ui изменяет размер <input> при запуске эффекта

Я смотрю, чтобы запустить эффект jquery-UI под названием "встряхнуть" на входной тег:

$("#myInput").effect("shake");

Я дал входному тегу новый размер во включенном CSS-файле:

height: 25px;
width: 250px;

Эффект работает нормально, но во время эффекта тег ввода имеет размер по умолчанию, пока эффект не закончится. Затем он снова становится большим.

Где ошибка? Это ошибка в jquery-ui?

картинка во время эффекта.

2 ответа

Скорее всего, это связано с тем, что другой стиль CSS получает приоритет во время эффекта. См. http://jsfiddle.net/qhK96/1/ где фон становится красным во время анимации встряхивания.

div > input /* while not in animation */

div > div > input /* while in animation due to wrapping from jQuery, like ElendilTheTall said */

Решение легко: исправьте свой CSS. Звучит немного умно, извините, но нам нужно больше информации, чтобы указать вам на вашу проблему. В качестве первой попытки добавьте !important чтобы определить высоту определения стиля или попробуйте установить высоту с помощью line-height.

У меня была такая же проблема, и я нашел решение. И да, я согласен с ElendilTheTall, что пользовательский интерфейс Jquery оборачивает цель и изменяет размеры, пока действует эффект. Итак, решение простое. Просто исправьте высоту и ширину HTML-элемента, добавив "! Важное" в CSS. Только то. Пользовательский интерфейс Jquery не сможет изменить размеры.

Другие вопросы по тегам