天天看點

jQuery練習2——倒計時

最近學生做一個線上考試系統,需要加入試卷倒計時功能。很顯然最放友善的就是ajax實作。一下子想起上次提到的jQuery,一用果然簡單。jQuery中提供了ajax的友善功能。

技術:HTML+Servlet+jQuery

實作功能:頁面顯示倒計時,時間來自伺服器。到時間後自動交卷。

Servlet代碼如下:

response.setContentType("text/html;charset=UTF-8"); 

response.setHeader("Cache-Control", "no-cache"); 

PrintWriter out = response.getWriter(); 

try { 

        if ("submit".equals(request.getParameter("action"))) { 

                //交卷 

                //TODO:這裡做交卷處理 

                out.println("已交卷"); 

        } else { 

                //倒計時 

                //設定結束時間 

                Calendar timeend = Calendar.getInstance(); 

                timeend.set(2008, 10, 7, 14, 50, 0); 

                long end = timeend.getTimeInMillis(); 

                //out.print(sdf.format(timeend.getTime())+"<br>"); 

                //擷取目前時間 

                Calendar rightNow = Calendar.getInstance(); 

                //out.print(sdf.format(rightNow.getTime())+"<br>"); 

                long now = rightNow.getTimeInMillis(); 

                //計算剩餘時間 

                int left = (int) (end - now); 

                if (left <= 0) { 

                        //時間到 

                        out.print("over"); 

                } else { 

                        int leftHour = left / (1000 * 60 * 60); 

                        left = left % (1000 * 60 * 60); 

                        int leftMinute = left / (1000 * 60); 

                        left = left % (1000 * 60); 

                        int leftSecond = left / (1000); 

                        out.print(leftHour + "時" + leftMinute + "分" + leftSecond + "秒"); 

                } 

        } 

} finally { 

        out.close(); 

}

HTML就交給jQuery了,代碼如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 

<html> 

        <head> 

                <title></title> 

                <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 

                <script src="../js/jquery.js" type="text/javascript"></script> 

                <script type="text/JavaScript"> 

                        $(document).ready(function(){ 

                                setInterval(getLeftTime,1000); 

                        }); 

                        //得到剩餘時間 

                        function getLeftTime(){ 

                                $.get("/jquery/TimeServlet?",function(data){ 

                                        if(data=="over"){ 

                                                //window.location="../index.jsp"; 

                                                $("#paperform").submit(); 

                                        } 

                                        else{ 

                                                $("#nowis").text(data); 

                                }); 

                        } 

                </script> 

        </head> 

        <body> 

                <div id="nowis" ></div> 

                <form id="paperform" method="POST" action="/jquery/TimeServlet?action=submit"> 

                </form> 

        </body> 

</html>

測試。

唉,jQuery命名就是一個JavaScript庫,說的人多了,竟然也成了一門技術的名稱。呵呵。

本文轉自 王傑瑞 51CTO部落格,原文連結:http://blog.51cto.com/wangjierui/110838,如需轉載請自行聯系原作者

下一篇: 換Vista啦

繼續閱讀