我使用jquery动画和jquery ui可调整大小的元素有问题。如果我想为可调整大小的元素的宽度设置动画,则resizeHandle(在我的示例中为绿色)将在动画期间消失。如果我为其左侧属性设置动画,则会正确显示调整大小句柄。
我把它归结为一个非常简单的例子来重现这个问题。
我的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中将它们放在一起:
我无法弄清楚为什么会这样。有没有办法解决这个问题?
答案 0 :(得分:2)
试试这个:
.rectangle{
background: red;
width: 200px;
height: 200px;
overflow: visible !important; /* to fix disappearing re-size bar */
}