这里是标记我有jquery的队列动态添加动画
<div class="container">
<div class="eachFloor">
<input type="checkbox" />
<div class="floor"></div>
</div>
<div class="eachFloor">
<input type="checkbox" />
<div class="floor"></div>
</div>
<div class="eachFloor">
<input type="checkbox" />
<div class="floor"></div>
</div>
<div class="eachFloor">
<input type="checkbox" />
<div class="floor"></div>
</div>
<div class="eachFloor">
<input type="checkbox" />
<div class="floor"></div>
</div>
<div class="elevator"></div>
</div>
这里是CSS我有
.container
{
width: 500px;
margin-left: 100px;
position:relative;
}
.floor
{
width: 400px;
background: #eee;
border-bottom: 1px solid black;
height: 110px;
}
.elevator
{
background: #000;
position: absolute;
bottom: 20px;
left: 20px;
right: 20px;
width: 360px;
height: 75px;
}
input[type="checkbox"]
{
float:right;
margin-left: 100px;
margin-top: 50px;
}
所以如上所示我有一系列复选框当我在一个点击其中我应该动画(动画:顶级属性)和div.elevator应该去的地方 复选框的位置,当我点击其中一个复选框,而动画运行我应该能够检查是否电梯是否已经通过了当前的地盘,如果有的话没有通过当前楼层,我应该停止在特定楼层的电梯大约一两秒钟,然后继续前面的动画。
假设电梯位于第五层(底层),因此可以说我点击了第1层楼层,然后当动画运行时,我点击第3层楼层,如果电梯没有通过第3层楼层(让当我点击复选框时,说它是在4楼的地板上)我应该能够在第三层停止动画:顶部大约一两秒钟,然后继续前一个动画到一楼(从三楼是电梯的当前位置)。
,如果我把动画像这样
$(".container").on("click", "input:checkbox", function (event) {
$(".elevator").animate({
top: $(this).parent().offset().top
}, {
duration: 6000
});
});
呼叫那么动画到3级地板只会到达一楼后,这样就不会在中途停止(原因是动画排队上发生为元素)。但这里来点可以完成,如果我保持FX队列正确,像一级楼复选框被点击时,我有动画:顶级到1楼,然后当3级被点击时,我需要一些神奇的移动 队列中第一层的3级楼层动画(如果楼层尚未经过,然后在那里停止电梯大约一两秒钟),然后从3层楼层运行1层楼层动画。
我如何做到这一点在jQuery的队列,clearQueue和其他jQuery的方法?我很好,如果我需要使用插件暂停/恢复我的动画太....任何帮助将不胜感激!
感谢您的答复约翰但如果你在问题中提到我的条件检查(即发生了什么,当你已位于点击一楼,你再次点击3楼,但它不会停止在三楼,因为动画是排队的)?你只是担心我相信的保证金。我将添加CSS我有问题,然后它会清楚。 – 2013-02-09 10:15:23