我思路错了,应该用setIntervar做

解决方案 »

  1.   

    还是不要把jsp和javascript的逻辑混在一起吧 
      

  2.   

    现在程序是这样的:<%@ page language="java" import="java.util.*,java.sql.*,java.util.Date,java.text.*" pageEncoding="UTF-8"%>
    <html>
    <head>
    <title>time left</title>
    <script language="javascript">
    setTimeout("show_time()",1000);
    function show_time()
    {
    var time_distance,str_time;
    var int_day,int_hour,int_minute,int_second;
    var time_now=new Date();
    time_now=time_now.getTime();
    time_distance=time_end.value-time_now;
    if(time_distance>0)
    {
    //取出间隔时间的天、小时、分,java中时间换成毫秒是按照1000*60*60*24这样的换算方式转的
    int_day=Math.floor(time_distance/86400000)
    time_distance-=int_day*86400000;
    int_hour=Math.floor(time_distance/3600000)
    time_distance-=int_hour*3600000;
    int_minute=Math.floor(time_distance/60000)
    time_distance-=int_minute*60000;
    int_second=Math.floor(time_distance/1000)if(int_hour<10)
    int_hour="0"+int_hour;
    if(int_minute<10)
    int_minute="0"+int_minute;
    if(int_second<10)
    int_second="0"+int_second;
    str_time=int_day+":"+int_hour+":"+int_minute+":"+int_second;
    timer.innerHTML=str_time;
    setTimeout("show_time()",1000); //循环调用
    }else
    {
    timer.innerHTML ="over";
    //clearTimeout(timerID)
    }}
    </script>
    </head>
    <body>
    <%
    ArrayList deal_date = new ArrayList();
    ArrayList deal_id = new ArrayList();
    DateFormat myDate=new SimpleDateFormat("yyyy-MM-dd");
    deal_date.add("2008-12-20");
    //////////////////////****************deal_date size ****/////////////deal_date.add("2008-12-08");
    //.....deal_date.add("....");
    for(int i=0;i<deal_date.size();i++)
    {
    myDate.parse(deal_date.get(i).toString());
    Date weekly_date = java.sql.Date.valueOf(deal_date.get(i).toString());
    long end_date = weekly_date.getTime();
    %>
    <input type="hidden" name="time_end" value='<%=end_date%>'>
    <tr>
    <td>
    <div align="center">left Time:</div>
    </td>
    <td class="time">
    <font color=red size=5><div id="timer"></div></font>
    </td>
    </tr>
    <%}%>
    </body>
    </html>问题:
    当deal_date 的 size=1 程序正常执行(已注释)
    size>1 js不执行
    程序都在这了,还请达人帮忙改改。
      

  3.   

    这里啊, 你的循环体<input type="hidden" name="time_end" value=' <%=end_date%>'>
    <tr>
    <td>
    <div align="center">left Time: </div>
    </td>
    <td class="time">
    <font color=red size=5> <div id="timer"> </div> </font>
    </td>
    </tr> 每个input的name都是"time_end",在js中只能拿到一个对象。还是没太看明白你这个程序要实现什么效果