Ale*_*eix 1 html javascript browser jquery jquery-ui
元素#open和#close时,他们不应该做的是在动画过程中dissappear.
这是代码,在这个框下面是jsfiddle.
/* CSS */
#web { width:700px; height:600px; background:#ce5a3e}
#dreta { width:200px; height:600px; background:#000; float:right; position:relative }
#open { position:absolute; top:0; left:-50px; display:none; color:#fff; }
#close { position:absolute; top:0; left:-50px; color:#fff; }
<!-- HTML -->
<div id="web">
<div id="dreta">
<a id="close" href="#">Close</a>
<a id="open" href="#">Open</a>
</div>
</div>
// JAVASCRIPT
$("#close").click(function() {
$("#dreta").animate({width: 0}, {duration: 1000,easing: "easeOutQuint",complete: function() {
$("#close").fadeOut();
$("#open").fadeIn();
} });
});
$("#open").click(function() {
$("#dreta").animate({width: '200px'}, {duration: 1000, easing: "easeOutQuint", complete: function() {
$("#close").fadeIn();
$("#open").fadeOut();
}});
});
Run Code Online (Sandbox Code Playgroud)
我已经在各种浏览器中对它进行了测试,它们都让它消失了.
为什么会发生这种情况,我该如何解决?
问题是jQuery设置了默认样式 overflow:hidden
你只需要添加
$("#dreta").animate().css("overflow","visible");
Run Code Online (Sandbox Code Playgroud)
删除该默认行为.