我用本章节的内容写了一段代码,结果浏览器老是崩溃fierfox和chrome都出现这种问题

来源:8-16 屏幕可用高和宽度

心为形役

2016-04-12 20:46

求教下大神这是什么原因啊?还有时间下方的效果也出不来

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Examples</title>
<meta name="description" content="">
<meta name="keywords" content="">
<link href="" rel="stylesheet">
</head>
 <script type='text/javascript'>
  function clock(){
   var mytime=new Date();
   var mydate=mytime.getFullYear()+'年'+mytime.getMonth()+'月'+mytime.getDate()+'日';
   var m=mytime.getMinutes();
   var h=mytime.getHours();
   var s=mytime.getSeconds();
   var t;
   m=startTime(m)
   s=startTime(s)
   document.getElementById("tm").innerHTML=mydate+h+':'+m+':'+s+'</br>';
   t=setInterval('clock()',500)
  }
  function startTime(i){
    if(i<10){
        i="0"+i
    }
    return i
  }
 var user_hf=window.location.href; 
 var user_na=navigator.userAgent;
 var user_sc_hg=screen.availHeight;
 var user_sc_wd=screen.availWidth;
 document.getElementById('us').innerHTML=user_hf+'</br>'+user_na+'</br>'+user_sc_hg+';'+user_sc_wd;
</script> 
<body onload='clock()'>
<b id='tm'></b>
<span id='us'></span>
</body>
</html>


写回答 关注

4回答

  • 那一霎的光芒
    2016-04-12 21:56:21
    已采纳

    你要把
    t=setInterval('clock()',500)写在clock函数外面

    写在函数里面就成无限递归了。函数每执行一次,都会有个setInterval事件,资源大大的占据

    心为形役 回复那一霎的光芒

    谢谢你的解答

    2016-05-16 08:31:40

    共 4 条回复 >

  • 明天你好4153884
    2016-11-04 17:46:32

    把setInterval改成setTimeout也可以执行时间

  • Destiny命运
    2016-04-17 23:12:13
    1. 你在body里面运行的clock这个函数里面的内容。



    <!DOCTYPE html>


    <html>


    <head>


    <meta charset="utf-8">


    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">


    <title>Examples</title>


    <meta name="description" content="">


    <meta name="keywords" content="">


    <link href="" rel="stylesheet">


    </head>


     <script type='text/javascript'>
       //var t=setInterval('clock()',500);


      function clock(){


       var mytime=new Date();


       var mydate=mytime.getFullYear()+'年'+mytime.getMonth()+'月'+mytime.getDate()+'日';


       var m=mytime.getMinutes();


       var h=mytime.getHours();


       var s=mytime.getSeconds();


       var t;


       m=startTime(m)


       s=startTime(s)


       document.getElementById("tm").innerHTML=mydate+h+':'+m+':'+s+'</br>';


      var user_hf=window.location.href;


     var user_na=navigator.userAgent;


     var user_sc_hg=screen.availHeight;


     var user_sc_wd=screen.availWidth;


     document.getElementById("us").innerHTML=user_hf+'</br>'+user_na+'</br>'+user_sc_hg+';'+user_sc_wd;


      }


      function startTime(i){


        if(i<10){


            i="0"+i


        }


        return i


      }


    </script>


    <body onload='clock()'>


    <b id='tm'></b>


    <span id='us'></span>


    </body>

    </html>

    心为形役

    谢谢你的回复

    2016-04-28 09:56:51

    共 1 条回复 >

  • StaryStary
    2016-04-12 21:59:27

    (首先我是个学渣 )

    然后 应该是循环出BUG了吧  

    我好像也遇到了类似问题 浏览器就无响应了 打开任务管理器发现“服务主机:本地服务(网络受限)”使磁盘飙到了70%多  

    这个有关系吗  求解

JavaScript进阶篇

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

468060 学习 · 21891 问题

查看课程

相似问题