使用Keypress推进jQuery动画队列

时间:2013-09-17 14:31:52

标签: javascript jquery animation queue

在jQuery代码中,我试图通过按键从.animate调用转移到后续的.animate调用,理想情况下可以在队列中向前和向后移动。我现在将动画构建为一系列用于串行执行的回调。例如:

<script>
$(document).keydown(function () {
    $("#rect").animate({
        width: "100px",
        height: "100px",
    }, 2000).animate({
        width: "200px",
        height: "200px",
        marginLeft: "500px",
        marginTop: "300px",
    }, 5000);
});
</script>

是否可以使用.queue使得第二个动画在第二次按键之前不会触发?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以使用.queue第二个动画,然后使用.dequeue执行它:

$('#rect').click(function(){
$("#rect").animate(
{
    width: "100px",
    height: "100px"
} ,2000)
.queue(function(){
    $(this).animate(
        {
            width: "200px",
            height: "200px",
            marginLeft: "500px",
            marginTop: "300px",
        },5000);

    $(this).click(function(){
        $.dequeue(this);
    });

});