<script type="text/javascript">
function timeChange()
{
 <%
  BidSp bidsp = (BidSp)application.getAttribute("user");
  String [] times = bidsp.getBidTime().split(":");
  int hours = Integer.parseInt(times[0].toString());
  int months = Integer.parseInt(times[1].toString());
  int scours = Integer.parseInt(times[2].toString());
  if(scours > 0)
    {
   scours = scours - 1;
   if(scours<10 && scours >=0)
{
scours = Integer.parseInt("0"+scours);
}
    }
   else if(scours <= 0)
   {
   if(months > 0)
   {
   months = months - 1;
   if(months<10 && months >=0)
{
months = Integer.parseInt("0"+months);
}
   scours = 59;
   }
   else if(scours <= 0)
   {
   if(hours > 0)
   {
   hours = hours -1;
   if(hours<10 && hours >=0)
{
hours = Integer.parseInt("0"+hours);
}
   months = 59;
   scours = 59;
   }
   }
   }
   bidsp.setBidTime(hours+":"+months+":"+scours);
   application.setAttribute("user",bidsp);
  %>
   alert(scours);
   document.getElementById("sysj").innerHTML = "剩余时间:"+hours+":"+months+":"+scours;
setTimeout("timeChange()",1000);
  }
  </script>
为什么js代码不去循环,application中的值不变

解决方案 »

  1.   

    你这段代码是放在jsp中的,而jsp在服务端进行编译,这时执行java代码,编译后发送到客户端,也就是浏览器,此时才执行js代码。所以你写的java与js混合代码是不会执行出循环结果的
      

  2.   

    是不是你的秒不走啊!
    如果是这样改
    function timeChange()
    {
    setTimeout("timeChange()",1000);
    }
    setTimeout("timeChange()",1000);
      

  3.   

    右键查看源代码,看看你的timeChange()是什么
    <%%>只有在第一请求时才执行,返回给客户端,而客户端setTimeout时时不会执行的