好的,所以我的目标是制作一个简单的动画,当一个多米诺骨牌被点击时,它从一堆的前面移动到后面。为什么我的jQuery队列在执行一次后停止工作?
我有一些作品在这里:http://jsfiddle.net/Kirkman/tDmHE/
但是,这是由大系列的嵌套回调的,最终我将有超过五张骨牌多了不少。于是我了解到jQuery的队列可以帮助我保持代码更清洁,而不必嵌套所有这些回调。
这是我想出来的。但它只在第一次点击时才起作用:http://jsfiddle.net/Kirkman/R7TmU/8/
我无法弄清楚为什么它不会在后续工作。
下面是相关的JS功能:
function dominoSlide(theThis) {
$('#dominoes .nav ul li').removeClass('selected',500);
var thisDomino = theThis.parent();
$('#dominoes .nav ul').queue(function() {
thisDomino.switchClass('domino0','selected', 250);
$('.domino1').switchClass('domino1','domino0',10);
$('.domino2').switchClass('domino2','domino1',10);
$('.domino3').switchClass('domino3','domino2',10);
$('.domino4').switchClass('domino4','domino3',10);
thisDomino.addClass('domino4');
thisDomino.removeClass('selected',250);
resetHandlers();
});
}
function resetHandlers() {
$('#dominoes .nav ul li a').unbind();
$('.domino0 a').bind('click', function(event) {
var theThis = $(this);
dominoSlide(theThis);
event.preventDefault();
});
$('#dominoes .nav ul li:not(".domino0") a').bind('click', function(event) {
event.preventDefault();
});
}
请注明您需要在问题本身有助于实际的代码。 –
好的,我添加了它们。 – Kirkman14
你有使用jQuery 1.3的原因吗? – PetersenDidIt