为什么这个简单的功能:
$(document).ready(function() {
$('input:not([type="checkbox"], .button, .noanimate)').focus(function() {
$(this).stop(true, true).animate({
width: $(this).width() + 50,
}, 300);
});
$('input:not([type="checkbox"], .button, .noanimate)').focusout(function() {
$(this).stop(true, true).animate({
width: $(this).width() - 50,
}, 300);
});
});
影响这个输入元素:
#search input {
font-size: 12px;
width: 300px;
height: 24px;
margin: 5px 0 0 0;
display: block;
border: 1px solid #003F80;
background-color: #4682c6;
color: #F5F5F5;
box-shadow: inset 0 1px 5px #003F80, 0 1px 3px #73ACE5;
border-radius: 20px;
padding: 0 10px 0 10px;
}
在 Firefox 和 Opera 中正常工作,但在 Chrome 中不能正常工作?在以前的浏览器中,当输入处于焦点时,它的宽度会从默认的 300px 扩展到 350px,而当焦点被移除时,会发生相反的情况。
然而,在 Chrome 中,当获得焦点时,它会上升到328px,然后又下降到256px宽度。如果再次给出焦点,它会上升到284px,然后下降到212px等等,直到输入几乎不可见。
它的宽度似乎上升了 28 像素,然后又下降了 72 像素。这里发生了什么?
编辑: 这是一个 JSFiddle,在 Chrome 中显示相同的问题,在 Firefox 和 Opera 中没有问题。