请问老师可以直接调用一个调用其自身的函数吗?

来源:-

慕粉3736843

2016-08-05 17:12

<!DOCTYPE html>
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>   
  <title>浏览器对象</title>  
 </head>
 <body>
 <script type="text/javascript">  
    ctime();
    var num=5;
    function ctime()
    {
        document.getElementById("b").innerHTML=num;
        num=num-1;
        setTimeout("ctime()",1000);
        if(num==0)
        {
    	    window.location.href="http://www.imooc.com"
        }
    }
 </script> 
    <span id="b">5</span>秒后回到主页 <a href=javascript:window.history.back()>返回</a>  
</body>
</html>

打开界面后,时间不会变,也不会有任何动作,但是使用一个按键来调用函数时,时间就会改变

写回答 关注

2回答

  • 水里有条鱼
    2016-08-06 09:06:53
    已采纳

    啊,我那时好像看漏了没仔细看,不好意思。你错的地方应该是函数ctine里document.getElementById("b").innerHTML=num;这句,因为如果你在script里使用ctime();调用的话因为它下面的span还没加载,所以得不到对象,出现错误。两种解决方法:

    第一加上window.onload = function(){}调用

        var num=5;

        function ctime()

        {

            document.getElementById("b").innerHTML=num;

            num=num-1;

            if(num==0)

            {

                window.location.href="http://www.imooc.com"

            }

            setTimeout("ctime()",1000); 

        }

        window.onload= function(){

            ctime();

        }

    第二把span放前面

     <span id="b">5</span>秒后回到主页 <a href=javascript:window.history.back()>返回</a>  

     <script type="text/javascript">  

        var num=5;

        function ctime()

        {

            document.getElementById("b").innerHTML=num;

            num=num-1;

            if(num==0)

            {

                window.location.href="http://www.imooc.com"

            }

            setTimeout("ctime()",1000); 

        }

            ctime();

     </script> 


    慕粉3736...

    非常感谢!

    2016-08-06 09:20:37

    共 1 条回复 >

  • 水里有条鱼
    2016-08-05 19:50:25

    你没调用函数,函数不执行,当然什么都不会发生。你现在只是做了声明而已,ctime();才是调用,在这里可以用setInterval()来调用

    水里有条鱼 回复慕粉3736...

    回复字数不超过300字,我在下面再答一遍哈

    2016-08-06 09:06:16

    共 2 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468192 学习 · 21891 问题

查看课程

相似问题