2013-08-02 35 views
0

http://jsfiddle.net/WPjvF/在這個Java腳本動畫第二次動畫時無法正常工作

當我點擊開始按鈕,第1次的正常工作,但點擊後退鍵後,然後我再次單擊開始按鈕「ahh6」第一次出現。如何糾正它。

var doWork = (function() { 
"use strict"; 

var index = 0, 
    boxes = $(".box1, .box2, .box3, .box4, .box5, .box6"), 
    cur; 

$("#home").click(function() { 
    cur = 1; 
    doWork(function (el) { 
     el.addClass("animated"); 
    }); 
}); 

$("#home2").click(function() { 
    cur = -1; 
    doWork(function (el) { 
     el.removeClass("animated"); 
    }, true); 
}); 

return function (changer, reverse) { 
    var start = function() { 
     if ((reverse && index < 0) || (!reverse && index === boxes.length)) { 
      return; 
     } 
     changer(boxes.eq(index)); 
     index += cur; 
     setTimeout(start, 300); 
    }; 
    start(); 
}; 

}());

+0

其工作正常,但只是問...是先a6 ppears ...但它仍然很好,因爲它最終到達底部。 –

+0

但我需要按照正確的順序完美地處理動畫。你能糾正這個問題嗎? – user2607456

回答

1

http://jsfiddle.net/WPjvF/1/

你是反向函數葉索引-1。

$("#home").click(function() { 
    if (index < 0) index = 0; 
    cur = 1; 
    doWork(function (el) { 
     el.addClass("animated"); 
    }); 
}); 
+0

感謝卡利,它的工作。 – user2607456