日期:2014-05-17  浏览次数:20678 次

Js相关问题
各位大神新年好!
    在这里刚接触Javascript,请教各位大神一个问题!
    <script type="text/javascript">
function clock_12h()
{
 var today = new Date(); 
 var year = today.getFullYear();  
 var month = today.getMonth()+1;
 var date = today.getDate();
 var hour = today.getHours(); 
 var minute = today.getMinutes();
 var second = today.getSeconds();
 document.getElementById("myclock").innerHTML="<h2>"+year+"年"+month+"月"+date+"日&nbsp;"+hour+":"+minute+":"+second+"&nbsp;"+apm+"&nbsp;"+weekday+"</h2>";
var myTime = setTimeout("clock_12h()",10000);</script>
</head>
<body>
<div id="myclock"></div>
</body>
</html>

上面一段代码我利用window对象的setTimeout方法让他10秒钟之后调用函数!
我的问题是 setTimeout()10秒钟调用函数,那么到底是干等着10秒钟调用函数后再走下面的代码还是运行到setTimeout()之后继续执行下面代码,然后10秒钟到了再去调用函数?,搞不清楚!赐教各位大神!
javascript date function div

------解决方案--------------------
你的function好像没看到反括号啊
如果setTimeout语句在function里面,就不会执行,因为没有调用这个function的代码
如果setTimeout在function外面,则隔10秒调用function,同时setTimeout后面的代码会马上执行

------解决方案--------------------
把你这一句var myTime = setTimeout("clock_12h()",10000);去掉,在脚本外面,加上这一句:window.setInterval("clock_12h()",10000);这个才是每10秒执行一次,你写的那个setTimeout("clock_12h()",10000),这个方法的意思是10秒后执行函数clock_12h(),而不是每10秒执行一次。