为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕桂英3389331 2018-10-17 13:14:44
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节点为黄色,然后把它渐变为白色
查看完整描述

1 回答

?
森林海

TA贡献2011条经验 获得超2个赞

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);//递归执行step,使颜色发生变化。level==15时递归结束。

            }

        };

        setTimeout(step, 100);//100毫秒之后执行step函数,这是node节点颜色变化的启动触发入口

    };

    fade(document.body);


查看完整回答
反对 回复 2018-11-17
  • 1 回答
  • 0 关注
  • 625 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信