我在将 jquery animate 与 jquery ui 可调整大小的元素一起使用时遇到问题。如果我想为可调整大小元素的宽度设置动画,resizeHandle(在我的示例中为绿色)将在动画期间消失。例如,如果我为它的 left 属性设置动画,则调整大小的句柄将正确显示。
我把它归结为一个非常简单的例子来重现这个问题。
我的 HTML 如下所示:
<div id="myDiv" class="resizable rectangle"></div>
<button type="button" id="animate">Animate Width</button><br/>
<button type="button" id="animate2">Animate Left</button>
这是JS部分:
var widthState = 0;
var leftState = 0;
$(".resizable").resizable({
handles: "e"
});
$("#animate").click(function(target){
$(".resizable").animate({
width: widthState > 0 ? 200 : 5,
},{
complete: function(){
widthState = widthState > 0 ? 0 : 1;
}
});
});
$("#animate2").click(function(target){
$(".resizable").animate({
left: leftState > 0 ? 0 : -200,
},{
complete: function(){
leftState = leftState > 0 ? 0 : 1;
}
});
});
最后是 CSS:
.rectangle{
background: red;
width: 200px;
height: 200px;
}
.ui-resizable-handle{
background: green;
}
我还在一个工作的 JSFiddle 中把它放在了一起:
我不明白为什么会这样。有没有办法解决这个问题?