我有一个网页有一个缓慢和戏剧性的初始负载,其中标题出现在3个部分。我也有一些标签,当点击时将当前“页面”上的内容过渡到新的“页面”内容。因此,如果在初始标题转换完成之前单击一个标签,它们会重叠并且事情变得混乱。我尝试过使用stop()并完成(),但我不确定将它们放在哪里。我想我想要做的是指定当点击一个选项卡时,在启动其他动画之前立即完成初始动画。不过,我甚至不知道如何定位该动画。如何在另一个开始之前定位并结束jquery事件?
初始头动画:
$.fn.topSlide1 = function() {
setTimeout (function()
{
$('.part1').delay(1000).animate({ opacity: '1' }, 'slow');
setTimeout (function() {
$('.part2').delay(1000).animate({ opacity: '1'}, 'slow');
setTimeout(function() {
$('.part3').delay(1000).animate({ opacity: '1' }, 'slow');
}, 1100);
}, 1100);
}, 1100);
return this;
}
我要点击标签动画如果该初始页还是正在显示的一个:
if (current == '#mag1')
{
/*Stop animation code here??*/
/*Starts the fading away transition*/
$('.part1').animate({ opacity:'0'}, 'slow');
$('.part2').animate({ opacity:'0'}, 'slow');
$('.part3').animate({ opacity:'0'}, 'slow');
$('.bio').fadeDown();
/*Slides up new page*/
$(id).fadeUp();
current = id;
}
简单的stop()方法本身并不能做到这一点,虽然我没有意识到我可能包括一个jQuery调用多个选择十分感谢该TID位。 似乎发生的事情是,点击时,它确实会停止当前动画,无论它是第1部分还是第2部分还是第3部分。但它并不会终止这些动画的传播/队列。因此,如果是第2部分,第2部分将结束,但第3部分将开始,无论何时代码已经进入淡出转换。 –