jquery-ui效果在运行效果时改变<input />大小

时间:2014-02-06 16:31:15

标签: jquery css jquery-ui jquery-effects

我想在输入标签上运行一个名为“shake”的jquery-ui效果:

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

我在包含的css文件中为输入标记添加了一个新大小:

height: 25px;
width: 250px;

效果运行正常,但在效果期间,输入标记具有默认大小,直到效果结束。然后,它又变大了。

错误在哪里?这是jquery-ui中的错误吗?

enter image description here

效果期间的图片。

2 个答案:

答案 0 :(得分:0)

最有可能的原因是不同的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添加到样式定义高度或尝试使用行高设置高度。

答案 1 :(得分:0)

我遇到了同样的问题并找到了解决方案。 是的,我同意ElendilTheTall的说法,只要效果正在进行,Jquery UI就会包裹目标并改变尺寸。 所以,解决方案很简单。只需添加&#34;!important&#34;即可修复HTML元素的高度和宽度。在CSS中。 只是。 Jquery UI无法改变尺寸。