猿问

为什么有两个setTimeout,分别是什么意思?

var fade = function (node) {

        var level = 1;

        var step = function () {

            var hex = level.toString(16);

            node.style.backgroundColor = "#FFFF" + hex + hex;

            if(level < 15) {

                level += 1;

                setTimeout(step, 100);

            }

        };

        setTimeout(step, 100);

    };

    fade(document.body);

定义一个函数,它设置一个DOM节点为黄色,然后把它渐变为白色

慕桂英3389331
浏览 606回答 1
1回答

森林海

var fade = function (node) {&nbsp; &nbsp; &nbsp; &nbsp; var level = 1;&nbsp; &nbsp; &nbsp; &nbsp; var step = function () {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var hex = level.toString(16);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; node.style.backgroundColor = "#FFFF" + hex + hex;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(level < 15) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; level += 1;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; setTimeout(step, 100);//递归执行step,使颜色发生变化。level==15时递归结束。&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; };&nbsp; &nbsp; &nbsp; &nbsp; setTimeout(step, 100);//100毫秒之后执行step函数,这是node节点颜色变化的启动触发入口&nbsp; &nbsp; };&nbsp; &nbsp; fade(document.body);
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答