元素#open
和#close
会在动画期间消失,因为它们不应该这样做。
这是代码,在这个框下面是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();
}});
});
我已经在各种浏览器中对它进行了测试,它们都让它消失了。
为什么会发生这种情况,我该如何解决?
答案 0 :(得分:5)
问题是jQuery使用overflow:hidden
你只需要添加
$("#dreta").animate().css("overflow","visible");
删除该默认行为。