 悬赏园豆:10
                [待解决问题]
                悬赏园豆:10
                [待解决问题] 
            
                 
        <html>
 <head>
  <title>图像自动切换</title>
  <script type="text/javascript">
   setInterval("loadImage()",3000);
   var images=['01.jpg','02.jpg','03.jpg','04.jpg','05.jpg'];
   var i=0;
   
   function loadImage()
   {
    i++;
    if(i==5)
     i=0;
    var oImage=document.getElementById('image');
    var oLabel=document.getElementById('info');
    oImage.src='images/'+images[i];
    oLabel.innerText=images[i];
   }
  </script>
 </head>
 <body>
  当前图像名:<label id="info"></label>
  <p></p>
  <img src="images/01.jpg" id="image" width="320" height="240" alt="正在加载">
  <script type="text/javascript">
   var oLabel=document.getElementById('info');
   oLabel.innerText=images[i];
  </script>
 </body>
</html>
请问上述代码的执行顺序是如何的 先执行head里的js然后生成body内的html?再调用了setInterval方法后body内的html还再重新生成吗?
先加载完 body 中的 HTML后才加载独立存储的、当前文档引用的JS 文件并执行当前文档内嵌的JS;调用setInterval()方法只是改变一个DOM 元素的一个属性,不用重新生成HTML 的。
在你想知道顺序的地方加一个alert。
都知道第一张图是01.jpg,干嘛不直接在label写呢,如果不写就像佛本慈悲所说的加onload事件:<body onload="document.getElementById('info').innerText=images[i];">
先执行head里的js然后生再执行body的html。但执行head里的js只不过是语句,而不是函数,函数也要出发才会执行。像你这里估计js是在执行body后执行的,因为都是函数,而setInterval也是3秒后才让函数loadmage执行。