我认为我拥有的这段代码可以工作,但它只能工作 50%。当动画宽度从 0 到 200px 时它可以工作,但反之亦然它不起作用。
这有效:$('#left').animate({"width": "200px"}, "1000").show();
但这不是:$('#left').animate({"width": "0px"}, "1000").hide();
我究竟做错了什么?
我认为我拥有的这段代码可以工作,但它只能工作 50%。当动画宽度从 0 到 200px 时它可以工作,但反之亦然它不起作用。
这有效:$('#left').animate({"width": "200px"}, "1000").show();
但这不是:$('#left').animate({"width": "0px"}, "1000").hide();
我究竟做错了什么?
动画完成后隐藏它:
$('#left').animate({"width": "0px"}, "1000", function () {
$(this).hide();
});
原因是动画异步触发,然后立即调用隐藏,导致它消失。把它放在完整的回调中会给你想要的效果。
查看更新的小提琴:http: //jsfiddle.net/nV5Tu/12/