jquery代码解释

时间:2011-03-02 17:38:06

标签: javascript

我有这个代码,我需要解释它的作用:

function delaymethod(settings) {
    settings.timeout = settings.timeout || 2000; 
    var start = new Date();

    var id = parent.setInterval(function () {
        if (settings.condition()) {
            parent.clearInterval(id);
            if (settings.success) {
                settings.success();
            }
        }

        var now = new Date();
        if (now - start > settings.timeout) {
            parent.clearInterval(id);

            if (settings.fail) {
                settings.fail();
            } else if (settings.success) {
                settings.success();
            }
        }

    }, 200);

} 

1 个答案:

答案 0 :(得分:1)

代码设置一个周期定时器(parent.setInterval),每200 ms触发一次。每当计时器触发时:

  1. 检查settings.condition(),如果已完成,则会停止计时器并调用success()功能。

  2. 它会检查自最初设置计时器(now - start > settings.timeout)以来是否发生超时,如果超时,它会停止计时器并调用fail()success(),具体取决于已定义。