本帖最后由 demon_cry 于 2012-08-12 15:28:33 编辑

解决方案 »

  1.   

      fc();
    改成
     window.onload =  fc;确保对象创建成功再调用
      

  2.   

    在标签<body>中加上onload事件 调用fc()函数
      

  3.   

    页面加载完成后再调用函数fc();   否则var aa=document.getElementById("bb");这个元素不存在
      

  4.   

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>递归调用</title>
    </head>
    <script>
        
        function fc() {
            var aa = document.getElementById("bb");
            var red = Math.random() * 255;
            var green = Math.random() * 255;
            var blue = Math.random() * 255;
            aa.style.color = "rgb(" + red + "," + green + "," + blue + ")";
            setInterval("fc()", 500);
        }
       
    </script>
    <body onload="fc();"><div id="bb">JS将会随机改变这个文字的颜色</div></body>
    </html>
      

  5.   

    ++或者把script 标签放body结束标签下面是第一个 fc() 错误,不是setTimeout 的问题
    这样的的问题,调试一下,就明白了
      

  6.   

    孟子正解。js都执行了。其实div还没展示出来。所以aa是null
      

  7.   

    fc后面的()去掉,setTimeOut里只要写函数名就行了
      

  8.   

    多谢 各位大虾  这次终于明白了window.onload的意思了  受益匪浅啊!