2

我认为我拥有的这段代码可以工作,但它只能工作 50%。当动画宽度从 0 到 200px 时它可以工作,但反之亦然它不起作用。

这有效:$('#left').animate({"width": "200px"}, "1000").show();

但这不是:$('#left').animate({"width": "0px"}, "1000").hide();

我究竟做错了什么?

这是一个包含所有代码的 JSFIDDLE

4

1 回答 1

1

动画完成后隐藏它:

$('#left').animate({"width": "0px"}, "1000", function () {
    $(this).hide();
});

原因是动画异步触发,然后立即调用隐藏,导致它消失。把它放在完整的回调中会给你想要的效果。

查看更新的小提琴:http: //jsfiddle.net/nV5Tu/12/

于 2013-01-23T18:04:22.013 回答