这个脚本是怎么样的顺序开始执行的啊?我分析了很久都不理解.
function affScroll() {
 stopScroll();
 ttlOn(scrollCount);
 scrollCount+=1;
 if (scrollCount==6) {
  scrollCount=1;
  }
  timer=setTimeout("affScroll()",pauseTime);
 }
 
function stopScroll() {
 clearTimeout(timer);
 }
这2个函数是怎么执行流程的.
是先执行 ttlOn(n) ,changeClips() ,affScroll() ,stopScroll() 是这个顺序吗?
<html>
<head>
<style type="text/css">
body{ font-size:1em; line-height:170%; text-align:center; margin-top:100px}
* { margin:0; padding:0}
ul,li { list-style:none}
div { width:500px;height:auto; margin:0px auto}
li { float:left; padding:0 10px; height:30px; line-height:30px; font-weight:bold; cursor:pointer; color:#000; background:#FFC}
.default { color:#000; background:#FFC}
.current { color:#FFF; background:#369}
.ctn { border:1px solid #369}
.ctn p { display:none}
</style>
<script language="JavaScript" type="text/javascript">
var scrollCount=1;
var pauseTime=3*1000; /*数字越小移动的时间越快*/
var timer;
function changeClips() {
 for (i=1; i<6; i++){
  var allCtn="ctn"+i;
  var allTtl="ttl"+i;
  document.getElementById(allCtn).style.display="none";
  document.getElementById(allTtl).className="default";
  }
 }
 
function ttlOn(n) {
 var curCtn="ctn"+n;
 var curTtl="ttl"+n;
 changeClips();
 document.getElementById(curCtn).style.display="block";
 document.getElementById(curTtl).className="current";
 scrollCount=n;
 }
 
function affScroll() {
 stopScroll();
 ttlOn(scrollCount);
 scrollCount+=1;
 if (scrollCount==6) {
  scrollCount=1;
  }
  timer=setTimeout("affScroll()",pauseTime);
 }
 
function stopScroll() {
 clearTimeout(timer);
 }
</script>
</head>
<body>
<div class="ttl">
<ul>
<li id="ttl1" onclick="ttlOn(1); return false;" class="current">Title01</li>
<li id="ttl2" onclick="ttlOn(2); return false;">Title02</li>
<li id="ttl3" onclick="ttlOn(3); return false;">Title03</li>
<li id="ttl4" onclick="ttlOn(4); return false;">Title04</li>
<li id="ttl5" onclick="ttlOn(5); return false;">Title05</li>
</ul>
</div>
<div style="clear:both; font-size:0; line-height:0"></div>
<div class="ctn">
<p id="ctn1" style="display:block">星期一<br />111</p>
<p id="ctn2">星期二<br />222</p>
<p id="ctn3">星期三<br />333</p>
<p id="ctn4">星期四<br />444</p>
<p id="ctn5">星期五<br />555</p>
</div>
<script language="JavaScript" type="text/javascript">affScroll();</script>
</body>
</html>

解决方案 »

  1.   

    没点击ttlOn(n)函数.
    ttlOn(scrollCount);   //这里也会执行的吗
      

  2.   


    // 执行流程是
    由script的标签中的affScroll()首先触发 1. stopScroll() // 因为timer为空,也就是空走以下
     
     2. ttlOn() -> changeClips() 3. setTimeout() // 设定下次的执行时间,pauseTime后继续执行affScroll 4. affScroll() // pauseTime后触发 5. ttlOn() -> changeClips() 6. setTimeout() // 设定下次的执行时间,重复4步骤(死循环)
      

  3.   

    // 执行流程是
    由script的标签中的affScroll()首先触发 1. stopScroll() // 因为timer为空,也就是空走以下
      
     2. ttlOn() -> changeClips() 3. setTimeout() // 设定下次的执行时间,pauseTime后继续执行affScroll 4. affScroll() // pauseTime后触发 5. stopScroll() // 清除下定时器(上面少了这一句) 6. ttlOn() -> changeClips() 7. setTimeout() // 重新设定下次的执行时间,重复4步骤(死循环)
      

  4.   

    当没点击的时候. 怎么也会走动的.
    affScroll()好像没有被调用啊?