首先,this code尽管很丑陋,但出于所有意图和目的而起作用。然而,这真的让我都病了,疯来看待。

对于懒惰的人,糟糕的代码的主要部分是这样的:

setTimeout(function() {
    toggle(); //off
    setTimeout(function() {
        toggle(); //on
        setTimeout(function() {
            toggle(); //off
            setTimeout(function() {
                toggle(); //on, stays for stallTime
                setTimeout(function() {
                    toggle(); //off
                    callback();
                }, stallTime);
            }, 300);
        }, 300);
    }, 300);
}, 300);


当然,我只想通过更改元素上的CSS类来控制动画。但是,transitionendwebkitTransitionEnd等至少是不可靠的。我是否不得不诉诸这种丑陋的代码?理想情况下,我希望能够设置可变数量的“闪光灯”,但是这段代码对于这个而言太笨拙了。

请从我的污秽中解救我。

最佳答案

var count = 5;
var i = setInterval(function() {
    toggle();
    count--;
    if(count == 0) {
        clearInterval(i);
        callback();
    }
}, 300);

关于javascript - 更好地运行有限动画周期的方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14075166/

10-11 03:01
查看更多