关于js倒计时的有关问题,请问一下大家

关于js倒计时的问题,请教一下大家
最近在弄倒计时答题,倒计时20s 后自动跳转下一题,下一题也是同理倒计时20s 

结果在第一题自动跳转第二题的时候,在第二题的20s倒计时 就会非常快,而跳到第三题的时候,还会出现负的秒数,这个是什么原因呢?

这个是答题的页面代码,用ajax来获取题的内容,填充到id为exm的div中:

<div class="row" id="exm">
</div>


而填充的内容是一段html代码(其中包括了倒计时)代码如下(程序是用ThinkPHP框架来写的):

<div class="web_box">
    <div class="web_boxx">
        <div class="web_logo"><img src="__PUBLIC__/pc/images/dati_t.png" /></div>
        <h3>{$vo.title}</h3>
    </div>
    <div class="div20px"></div>
    <div class="web_tt">
     <div class="web_line">
         <input type="radio" name="optionsRadios" id="optionsRadios1" value="a"><label for="web_ra"> A.{$vo.question_a}</label>
     <div class="web_clear"></div>
        </div>
     <div class="web_line">
         <input type="radio" name="optionsRadios" id="optionsRadios2" value="b"><label for="web_ra1">B.{$vo.question_b}</label>
     <div class="web_clear"></div>
        </div>
     <div class="web_line">
         <input type="radio" name="optionsRadios" id="optionsRadios3" value="c"><label for="web_ra2">C.{$vo.question_c}</label>
     <div class="web_clear"></div>
        </div>
<if condition="$vo['question_d'] neq ''">
     <div class="web_line">
         <input type="radio" name="optionsRadios" id="optionsRadios4" value="d"><label for="web_ra3">D.{$vo.question_d}</label>
     <div class="web_clear"></div>
        </div>
</if>
    </div>
    <div class="web_clear"></div>
<div class="div20px"></div>
    <div class="web_tj_btn">
     <a href="#" class="web_input_btn" id="next">提交(下一题)</a>
        <span><em id="count" style=" font-style:normal;"></em>s之后自动跳转......</span>
        <div class="web_clear"></div>
    </div>
</div>


js倒计时代码如下:

<script type="text/javascript">
      var num=20;
      function startCount() {
        document.getElementById('count').innerHTML=num;
        num=num-1;
        var timer=setTimeout("startCount()",1000);
        if(num==0)
        {
        $("#next").trigger("click");
     }
      }
  
     
    $(document).ready(function(){
        setTimeout("startCount()",1000)
});


------解决思路----------------------
 就会非常快?
一般是因为timer这个变量没有设置为clearTimeout
timer一般设置为全局变量。下次开始之前执行clearTimeout(timer)

你代码不全,没有看到下一题是怎么进行倒计时的

出现负数?
你可以修改判断
if(num<1)