Jscript 代码有问题,谁来帮我看看。

function AlertMailNum() {
    var colors = new Array("red", "orange", "yellow", "green", "cyan", "blue", "purple");
    var colorStartIndex = 0;
    setBreathLightOn(colors, colorStartIndex);
}
function setBreathLightOn(colors, colorIndex) {
    var mailNum = $("input[id$='MailNum']").val();
    if (mailNum > 0) {
        var mailMappingButton = $("[id$='MailMappingLinkButton']");
        colorIndex = colorIndex % 7;
        mailMappingButton.animate(
            { color: colors[colorIndex] },
            2000,
            "swing",
            setBreathLightOn(colors, colorIndex + 1));
    }
    else {
        var mailMappingButton = $("#Header_MailMappingLinkButton");
        mailMappingButton.removeAttr("style");
    }
}
喵喵时光机
浏览 501回答 2
2回答

精慕HU

你这个递归操作会出现死循环了

开满天机

function setBreathLightOn(colors, colorIndex) { var mailNum = $("input[id$='MailNum']").val(); if (mailNum > 0) { var mailMappingButton = $("[id$='MailMappingLinkButton']"); colorIndex = colorIndex % 7; mailMappingButton.animate( { color: colors[colorIndex] }, 2000, "swing", function () { if (mailNum > 0) { setBreathLightOn(colors, colorIndex + 1); } else { mailMappingButton.removeAttr("style"); } }); } } 使用递归时犯的低级错误。代码进入死循环了。应该有循环出口。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript