你把事件innerHTML放在javascript程序的前面,应该会先执行事件innerHTML再执行javascript程序的,如click="objID.innerHTML='';yourJavascriptProgram;"而不要click="yourJavascriptProgram;objID.innerHTML='';"

解决方案 »

  1.   

    there seems no way to immediately update any page diaply inside a single script processing routine (not using sort of alert method)at client side -- use Server side scripts to get this effect.
      

  2.   

    setTimeout 相对应的函数是 clearTimeout
      

  3.   

    设置停顿的同时,程序会暂停....
    <script>
    for(i=0;i<30;i++){
    showModalDialog("about:<script>setTimeout(close,1000);<\/script>")
    window.status=i;
    }
    alert("ok");
    </script>
      

  4.   

    实际上偶觉得Javascript解释执行和浏览器解析页面文本的操作是单线程的,就是说独占CPU。
    偶本来打算简单插入一个停顿的,看来不是一个命令可以简单实现的。
    一个思路是剖开主程序,还是用setTimeout实现停顿,设置断点的同时把当前参量传递给setTimeout,这样来接起来。
    偶觉得alert被立即显示的原因可能是alert不是被浏览器解析器分析的,而是直接由script解释器解释执行的,所以不必等待浏览器执行。 qiushuiwuhen(秋水无恨)提到showModelDialog(),很可能是个好办法哦,试试先
      

  5.   

    <html><body><!-- Following program shows how to insert a pause into main program/function -->
    <!-- This program has been tested on IE5 & IE6, wroks well --><div id="ttt">0</div>
    <script language="javascript"><!--
    function mainprog(start){
    for (i=start;i<=1000000;i++){ /* Here is the main program part, assume it
        is just increase var i 100,000 times */  if (i%100000==0){
    document.all.ttt.innerText=i/10000+"%";
    if(i<=1000000) nexti=i+1;
    oContinue="mainprog("+nexti+")"; //plus the vars that the main function needed to ensure the main works could continue
    setTimeout(oContinue,500); //insert 500ms of pause
    return true;
    }
    }
    return true;
    }
    //-->
    </script>
    <br><button onclick="mainprog(1)">Show the pause</button>
    </body></html>
      

  6.   

    妈的,偶想把这个程序发到comp.lang.javascript  的,
    不知道为什么发不了,连发贴页面都进不去,NND........