//secs 为随机给出时间.

<script language="javascript">
    var secs = 28171;
    var wait = secs * 1000;
    var submitButton=document.getElementById('butview');
   //submitButton.value = "同意协议 ("+secs+")";
    submitButton.disabled = true;
    for(i=1;i<=secs;i++){
        window.setTimeout("update("+i+")",i*1000);
    }
    window.setTimeout("timer()", wait);
    function update(num,value){
    var ttt=document.getElementById('ttt');
        if(num==(wait/1000)){
            //submitButton.value = "同意协议";
            //submitButton.disabled=false;
        }else{
            printnr = (wait/1000)-num;
            //submitButton.value = "同意协议("+printnr+")";
            var mm=printnr/60;
            var hh=printnr/3600;
            hh=Math.round(hh*100)/100;
            ttt.innerHTML='距离结束时间:('+hh+' 小时 约='+parseInt(mm)+'分 约='+parseInt(printnr)+'秒)';
        }
    }
    function timer(){
        submitButton.disabled = false;
        //submitButton.value = "同意协议";
    }

解决方案 »

  1.   

     var ttt=document.getElementById('ttt');
    可以放到全局.已经修改 其他的继续
      

  2.   

    for(i=1;i<=secs;i++){
      window.setTimeout("update("+i+")",i*1000);
      }
      window.setTimeout("timer()", wait);
    主要问题应该在这里~·
      

  3.   

    把相关的html代码也发上来看看。
      

  4.   

    var secs = 28171;
    var submitButton = document.getElementById('butview');
    submitButton.disabled = true;var int = window.setInterval(update, 1000);
    function update() {
        var ttt = document.getElementById('ttt');
        
        secs --;
        if (secs == 0) {
            window.clearInterval(int);
            submitButton.disabled = false;
        }
        else {
            var mm = secs / 60;
            var hh = Math.round(secs / 3600);
            ttt.innerHTML = '距离结束时间:(' + hh + '小时 约=' + parseInt(mm) + '分 约=' + secs + '秒';
        }
    }貌似就是一个倒计时功能啊,今天正好回答了一个差不多的问题,不知道是不是你想实现的效果。
    http://topic.csdn.net/u/20110809/16/1f19fcf9-5ff6-4f6e-95cc-86cb3ac77601.html