javascript 學習筆記(四) 倒計時程式

來源:互聯網
上載者:User
首先看全部完整代碼:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type" /><title>countDown test</title><script type="text/javascript">function countDown(endDate) {var now = new Date();var deadtime = document.getElementById(endDate);var deadline = new Date(deadtime.value);//本地時間與格林威治標準時間 (GMT) 的分鐘差var timeDiff = now.getTimezoneOffset();//此處有些不解,如果把分鐘差轉化成毫秒應該是timeDiff*60*1000,但是這樣返回的資料不正確!var leave = Math.abs(deadline.getTime() - now.getTime() + timeDiff*60);var minute = 1000 * 60;var hour = minute * 60;var day = hour * 24;var countDay = Math.floor(leave/day);//var countHour = Math.floor((leave - day*countDay)/hour);   兩種計算思路var countHour = Math.floor(leave/hour - countDay*24);var countMinute = Math.floor(leave/minute) - countDay*24*60 - countHour*60;var countSecond = Math.floor(leave/1000) - countDay*24*60*60 - countHour*60*60 - countMinute*60;var outStr = "";if(deadline < now) {outStr = "距離"+deadtime.value+"已有"+countDay+"天"+countHour+"小時"+countMinute+"分"+countSecond+"秒";} else {outStr = "距離"+deadtime.value+"還差"+countDay+"天"+countHour+"小時"+countMinute+"分"+countSecond+"秒";}var showTime = document.getElementById("showTime");showTime.innerHTML = outStr;}</script></head><body><p><label for="deadline">到期日</label><input type="text" value="2011-06-11" id="deadline" /><input type="button" value="開始倒計時" onclick="window.setInterval('countDown(\'deadline\')', 1000)" /></p><p id="showTime"></p></body></html>
html部分代碼:可在文字框中輸入倒計時的時間,如果目前時間小於截止時間,則正常返回,反之,則返回距離到期日到現在的時間
<p><label for="deadline">到期日</label><input type="text" value="2011-06-11" id="deadline" /><input type="button" value="開始倒計時" onclick="window.setInterval('countDown(\'deadline\')', 1000)" /></p><p id="showTime"></p>
javascript部分代碼:
function countDown(endDate) {var now = new Date();var deadtime = document.getElementById(endDate);var deadline = new Date(deadtime.value);//本地時間與格林威治標準時間 (GMT) 的分鐘差var timeDiff = now.getTimezoneOffset();//此處有些不解,如果把分鐘差轉化成毫秒應該是timeDiff*60*1000,但是這樣返回的資料不正確!var leave = Math.abs(deadline.getTime() - now.getTime() + timeDiff*60);var minute = 1000 * 60;var hour = minute * 60;var day = hour * 24;var countDay = Math.floor(leave/day);//var countHour = Math.floor((leave - day*countDay)/hour);   兩種計算思路var countHour = Math.floor(leave/hour - countDay*24);var countMinute = Math.floor(leave/minute) - countDay*24*60 - countHour*60;var countSecond = Math.floor(leave/1000) - countDay*24*60*60 - countHour*60*60 - countMinute*60;var outStr = "";if(deadline < now) {outStr = "距離"+deadtime.value+"已有"+countDay+"天"+countHour+"小時"+countMinute+"分"+countSecond+"秒";} else {outStr = "距離"+deadtime.value+"還差"+countDay+"天"+countHour+"小時"+countMinute+"分"+countSecond+"秒";}var showTime = document.getElementById("showTime");showTime.innerHTML = outStr;}
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.