我是 javascript 新手,观察到 body 标记中的 2 个函数 onload="expand();fadeOut();" 在链接 http://jsfiddle.net/ankur3291/F8pXj/6/上是串行的,所以必须一个一个地执行,但是当看到结果时,这两个函数似乎同时运行。为什么会这样?他们为什么不一个一个地依次执行?(请不要尝试更新指定链接的代码......因为链接会改变)另见下面的代码:
<html>
<head>
<title>dimensions</title>
<style type='text/css'>
body{margin:0;}
.box{display:block;background-color:green;}
#container{height:100px;width:100px;position:relative;top:150px;left:150px;}
#contain{display:block;position:fixed;height:200px;width:200px;top:100px;left:100px;font-size:50px;t
ext-align:center;line-height:200px;opacity:0;background-color:orange;}
</style>
<script type='text/javascript'>
function expand(){
var obj=document.getElementById("container");
var h=100
var w=100
var t=150
var l=150
function frame()
{
t=t-2;
l=l-1.97*2;
h=h+4;
w=w+1.96*4;
obj.style.height=h+'px';
obj.style.width=w+'px';
obj.style.top=t+'px';
obj.style.left=l+'px';
if(t<=5 || l<=5)
clearInterval(timer);
}
var timer=setInterval(frame,1);
}
function fadeOut(){
var obj=document.getElementById("contain");
var o=0;
function frame(){
obj.style.opacity=o;
o=o+0.01;
if(o>=1)
clearInterval(timer);
}
var timer=setInterval(frame,1);
}
</script>
</head>
<body onload="expand();fadeOut();">
<div class="box" id="container">
</div>
<div id="contain">
Unicorn
</div>
</body>
</html>