在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使得第二个动画在第二次按键之前不会触发?
感谢您的帮助。
答案 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);
});
});