1. 程式人生 > >IFE第二十五天到第二十七天:倒數開始 滴答滴 滴答滴

IFE第二十五天到第二十七天:倒數開始 滴答滴 滴答滴

Task1

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>IFE ECMAScript</title>
</head>

<body>
    <script>
        function Go() {
            console.log("Go");
        }

        function GoSteps(n) {
            if (n === undefined) { //一定要注意此處是三個等號,表示引數n未給出;如果是兩個等號,那麼n為null是也會執行Go();語句
                Go();
            }
            if (typeof n != "number") {
                if (n == true) {
                    Go();
                }
            } else {
                if (n >= 1) {
                    for (var i = 1; i <= n; i++) {
                        Go();
                    }
                }
            }
        }

        GoSteps(10); // Go 10次
        GoSteps(1); // Go 1次
        GoSteps(); // Go 1次,認為缺少引數時,預設引數為1
        GoSteps(0); // 0次
        GoSteps(-1); // 0次
        GoSteps(1.4); // Go 1次
        GoSteps(1.6); // Go 1次
        GoSteps(-1); // 0次
        GoSteps(true); // Go 1次
        GoSteps(false); // 0次
        GoSteps("Test"); // 0次
        GoSteps(NaN); // 0次
        GoSteps(null); // 0次
    </script>
</body>

</html>

Task2

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>IFE ECMAScript</title>
</head>

<body>
    <div id="mydate"></div>
    <script>
        //封裝一個函式,把月、日、小時等出現個位數的情況前面補充0,補充為兩位,比如1變為01
        function checkTime(x) {
            if (x < 10) {
                x = "0" + x;
            }
            return x;
        }
        //封裝一個函式,來根據某個日期返回這一天是星期幾
        function getWeekDay(d) {
            var weekday = new Array(7);
            weekday[0] = "日";
            weekday[1] = "一";
            weekday[2] = "二";
            weekday[3] = "三";
            weekday[4] = "四";
            weekday[5] = "五";
            weekday[6] = "六";
            return "星期" + weekday[d.getDay()];
        }
        //返回年月日
        function getYearMonthDate(d) {
            var year = d.getFullYear();
            var month = d.getMonth() + 1;
            var date = d.getDate();
            return checkTime(year) + "年" + checkTime(month) + "月" + checkTime(date) + "日";
        }
        //返回時分秒
        function getHourMinuteSecond(d) {
            var hour = d.getHours();
            var minute = d.getMinutes();
            var second = d.getSeconds();
            return checkTime(hour) + ":" + checkTime(minute) + ":" + checkTime(second);
        }
        //封裝一個函式,把最後的日期時間,按照要求的格式進行包裝
        function now() {
            var today = new Date();
            document.getElementById('mydate').innerHTML = getYearMonthDate(today) + " " + getWeekDay(today) + " " +
                getHourMinuteSecond(today);
            setTimeout('now()', 1000);
        }

        now();
    </script>
</body>

</html>

Task3

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>IFE ECMAScript</title>
</head>

<body>
    <div id="mydate"></div>
    <script>
        //封裝一個函式,把月、日、小時等出現個位數的情況前面補充0,補充為兩位,比如1變為01
        function checkTime(x) {
            if (x < 10) {
                x = "0" + x;
            }
            return x;
        }
        //封裝一個函式,來根據某個日期返回這一天是星期幾
        function getWeekDay(d) {
            var weekday = new Array(7);
            weekday[0] = "Sunday";
            weekday[1] = "Monday";
            weekday[2] = "Tuesday";
            weekday[3] = "Wednesday";
            weekday[4] = "Thursday";
            weekday[5] = "Friday";
            weekday[6] = "Saturday";
            return weekday[d.getDay()];
        }
        //返回年月日
        function getYearMonthDate(d) {
            var year = d.getFullYear();
            var month = d.getMonth() + 1;
            var date = d.getDate();
            return checkTime(year) + "-" + checkTime(month) + "-" + checkTime(date);
        }
        //返回時分秒
        function getHourMinuteSecond(d) {
            var hour = d.getHours();
            var minute = d.getMinutes();
            var second = d.getSeconds();
            var str;
            if (hour > 12) {
                hour -= 12;
                str = " PM";
            } else {
                str = " AM";
            }
            return checkTime(hour) + ":" + checkTime(minute) + ":" + checkTime(second) + str;
        }
        //封裝一個函式,把最後的日期時間,按照要求的格式進行包裝
        function now() {
            var today = new Date();
            document.getElementById('mydate').innerHTML = getYearMonthDate(today) + " " + getWeekDay(today) + " " +
                getHourMinuteSecond(today);
            setTimeout('now()', 1000);
        }

        now();
    </script>
</body>

</html>

Task4

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>IFE ECMAScript</title>
</head>

<body>
    <select id="year-select" onchange="yearToDay(this.value)">
        <option value="">請選擇 年</option>
    </select>

    <select id="month-select" onchange="monthToDay(this.value)">
        <option value="">請選擇 月</option>
    </select>

    <select id="day-select">
        <option value="">請選擇 日</option>
    </select>

    <select id="hour-select">
        <option value="0">00</option>
        <option value="1">01</option>
        <option value="2">02</option>
        <option value="3">03</option>
        <option value="4">04</option>
        <option value="5">05</option>
        <option value="6">06</option>
        <option value="7">07</option>
        <option value="8">08</option>
        <option value="9">09</option>
        <option value="10">10</option>
        <option value="11">11</option>
        <option value="12">12</option>
        <option value="13">13</option>
        <option value="14">14</option>
        <option value="15">15</option>
        <option value="16">16</option>
        <option value="17">17</option>
        <option value="18">18</option>
        <option value="19">19</option>
        <option value="20">20</option>
        <option value="21">21</option>
        <option value="22">22</option>
        <option value="23">23</option>
    </select>

    <select id="minute-select">
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
        <option value="9">9</option>
        <option value="10">10</option>
        <option value="11">11</option>
        <option value="12">12</option>
        <option value="13">13</option>
        <option value="14">14</option>
        <option value="15">15</option>
        <option value="16">16</option>
        <option value="17">17</option>
        <option value="18">18</option>
        <option value="19">19</option>
        <option value="20">20</option>
        <option value="21">21</option>
        <option value="22">22</option>
        <option value="23">23</option>
        <option value="24">24</option>
        <option value="25">25</option>
        <option value="26">26</option>
        <option value="27">27</option>
        <option value="28">28</option>
        <option value="29">29</option>
        <option value="30">30</option>
        <option value="31">31</option>
        <option value="32">32</option>
        <option value="33">33</option>
        <option value="34">34</option>
        <option value="35">35</option>
        <option value="36">36</option>
        <option value="37">37</option>
        <option value="38">38</option>
        <option value="39">39</option>
        <option value="40">40</option>
        <option value="41">41</option>
        <option value="42">42</option>
        <option value="43">43</option>
        <option value="44">44</option>
        <option value="45">45</option>
        <option value="46">46</option>
        <option value="47">47</option>
        <option value="48">48</option>
        <option value="49">49</option>
        <option value="50">50</option>
        <option value="51">51</option>
        <option value="52">52</option>
        <option value="53">53</option>
        <option value="54">54</option>
        <option value="55">55</option>
        <option value="56">56</option>
        <option value="57">57</option>
        <option value="58">58</option>
        <option value="59">59</option>
        <option value="60">60</option>
    </select>

    <select id="second-select">
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
        <option value="9">9</option>
        <option value="10">10</option>
        <option value="11">11</option>
        <option value="12">12</option>
        <option value="13">13</option>
        <option value="14">14</option>
        <option value="15">15</option>
        <option value="16">16</option>
        <option value="17">17</option>
        <option value="18">18</option>
        <option value="19">19</option>
        <option value="20">20</option>
        <option value="21">21</option>
        <option value="22">22</option>
        <option value="23">23</option>
        <option value="24">24</option>
        <option value="25">25</option>
        <option value="26">26</option>
        <option value="27">27</option>
        <option value="28">28</option>
        <option value="29">29</option>
        <option value="30">30</option>
        <option value="31">31</option>
        <option value="32">32</option>
        <option value="33">33</option>
        <option value="34">34</option>
        <option value="35">35</option>
        <option value="36">36</option>
        <option value="37">37</option>
        <option value="38">38</option>
        <option value="39">39</option>
        <option value="40">40</option>
        <option value="41">41</option>
        <option value="42">42</option>
        <option value="43">43</option>
        <option value="44">44</option>
        <option value="45">45</option>
        <option value="46">46</option>
        <option value="47">47</option>
        <option value="48">48</option>
        <option value="49">49</option>
        <option value="50">50</option>
        <option value="51">51</option>
        <option value="52">52</option>
        <option value="53">53</option>
        <option value="54">54</option>
        <option value="55">55</option>
        <option value="56">56</option>
        <option value="57">57</option>
        <option value="58">58</option>
        <option value="59">59</option>
        <option value="60">60</option>
    </select>

    <p id="result-wrapper"></p>
    <script>
        var year = document.getElementById("year-select");
        var month = document.getElementById("month-select");
        var day = document.getElementById("day-select");
        var hour = document.getElementById("hour-select");
        var minute = document.getElementById("minute-select");
        var second = document.getElementById("second-select");

        var result = document.getElementById("result-wrapper");

        var monthHead = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];

        //封裝一個函式,把月、日、小時等出現個位數的情況前面補充0,補充為兩位,比如1變為01
        function checkTime(x) {
            if (x < 10) {
                x = "0" + x;
            }
            return x;
        }

        //封裝一個函式,來根據某個日期返回這一天是星期幾
        function getWeekDay(d) {
            var weekday = new Array(7);
            weekday[0] = "日";
            weekday[1] = "一";
            weekday[2] = "二";
            weekday[3] = "三";
            weekday[4] = "四";
            weekday[5] = "五";
            weekday[6] = "六";
            return "星期" + weekday[d.getDay()];
        }

        //判斷是否為閏年
        function isPinYear(y) {
            if (y % 4 == 0) {
                if (y % 100 != 0) {
                    return true;
                } else if (y % 400 == 0) {
                    return true;
                } else {
                    return false;
                }
            } else {
                return false;
            }
        }

        function YMDstart() {
            for (var i = 2000; i <= 2032; i++) {
                year.options.add(new Option(i, i));
            }
            for (var i = 1; i <= 12; i++) {
                month.options.add(new Option(i, i));
            }
            var val = month.options[month.selectedIndex].value;
            var n = monthHead[val - 1];
            console.log(val)
            if (val == 1 && isPinYear(year.value)) {
                n++;
            }
            writeDay(n);
        }

        //年份變化時2月的日期發生變化
        function yearToDay(year) {
            var val = month.options[month.selectedIndex].value;
            if (val == "") {
                optionsClear(day);
                return;
            }
            var n = monthHead[val - 1];
            if (val == 2 && isPinYear(year) == true) {
                n++;
            }
            writeDay(n);
        }

        //月發生變化時日期變化
        function monthToDay(month) {
            var yval = year.options[year.selectedIndex].value;
            if (yval == "") {
                optionsClear(day);
                return;
            }
            var n = monthHead[month - 1];
            if (month == 2 && isPinYear(yval)) {
                n++;
            }
            writeDay(n);
        }

        //根據條件寫日期的下拉框
        function writeDay(n) {
            optionsClear(day);
            for (var i = 1; i <= n; i++) {
                day.options.add(new Option(i, i));
                // if(i == changeDD){
                // e.options[i].selected = true;  //->保持選中狀態
            }
        }

        //刪除所有option
        function optionsClear(e) {
            e.options.length = 1;
        }

        //獲取所選時間
        function getTimeSelect() {
            var str = year.value + "-" + month.value + "-" + day.value;
            var daySelect = new Date(str);
            return year.value + "年" + month.value + "月" + day.value + "日 " + getWeekDay(daySelect) + " " + checkTime(
                    hour.value) +
                ":" + checkTime(minute.value) + ":" + checkTime(second.value);
        }

        //獲取當前時間與所選時間之差
        function getTimeNow() {
            var now = new Date();
            var timeSelectStr = year.value + "/" + month.value + "/" + day.value + " " + hour.value + ":" + minute.value +
                ":" + second.value;
            var timeSelect = new Date(timeSelectStr);
            var milliseconds = now.getTime() - timeSelect.getTime();
            var str;
            if (milliseconds < 0) {
                milliseconds = -milliseconds;
                str = " 還有";
            } else {
                str = " 已經過去";
            }
            var daym = milliseconds / 86400000;
            var hourm = (milliseconds % 86400000) / 3600000;
            var minutem = ((milliseconds % 86400000) % 3600000) / 60000;
            var secondm = (((milliseconds % 86400000) % 3600000) % 60000) / 1000;
            return str + parseInt(daym) + "天" + parseInt(hourm) + "小時" + parseInt(minutem) + "分" + parseInt(secondm) +
                "秒";
        }

        function start() {
            result.innerHTML = "現在距離 " + getTimeSelect() + getTimeNow();
        }

        YMDstart();
        setInterval(start, 1000);
    </script>
</body>

</html>

相關推薦

IFE第二第二倒數開始

Task1 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>IFE ECMAScript</title> <

C++基礎()C++ 的訊息處理afx_msg

一、簡介 最近用到了獲取,串列埠訊息,訊息處理主要用到了微軟的<afxwin.h>標頭檔案的afx_msg類。先調研一番訊息處理函式,然後舉例說明。   二、什麼是訊息處理函式 afx_msg主要在MFC中應用,比較古老了。訊息函式主要用到afx_msg關鍵字來

國慶樂——第

detail 根據 第七天 生成 預處理 常用 最長子串 模式匹配 com 20171007 【字符串算法】 模式匹配----kmp 定義:next[i+1]是最大的j+1使得p[0~j]是p[0~i]的後綴 通過這個next數組來跳過某些冗余計算

用find刪除前最近的文件

shell#!/bin/bash before_day=`date --date=-13day +%Y.%m%d` after_day=`date --date=-7day +%m%d` dir_path=‘/data/testlog/‘ backup_path=‘/data/backup_logs/‘ fo

js 獲取近三,近的日期程式碼

/*據資料判斷渲染起始時間值(前臺以1.3.7標識查詢範圍)*/ function getStartEndTime(numberDate){        if(typeof numberDate == "string")number

Java併發庫(、六、執行緒範圍內共享資料、ThreadLocal、共享資料的三種方法

深切懷念傳智播客張孝祥老師,特將其代表作——Java併發庫視訊研讀兩遍,受益頗豐,記以後閱 05. 執行緒範圍內共享變數的概念與作用 執行緒範圍內共享資料圖解: 程式碼演示: class ThreadScopeShareData {        三個模組共享資料,主執

百度前端學院參考答案第二第二 倒數開始 (1)

編碼 我們現在來做一個最簡單的時鐘,通過小練習來學習 Date,複習定時,然後再練習一下函式的封裝具體需求如下: 在頁面中顯示當前日期及時間,按秒更新 格式為 YYYY 年 MM 月 DD 日 星期 D HH:mm:ss 注意位數的補齊,比如:-- 假設時間為2008年10月10日星期一的1

百度前端技術學院第二第二 倒數開始

var year=document.getElementById("year-select"); var month=document.getElementById("month-select"); var day=document.g

Java學習第二

基本 添加按鈕 java.awt 需要 light 輸入 pre 理解 多級 1:如何讓Netbeans的東西Eclipse能訪問。 在Eclipse中創建項目,把Netbeans項目的src下的東西給拿過來即可。 註意:修改項目編碼為UTF-8 2:GUI(了解

第二節,MySQL數據庫安裝和介紹

關閉 離線 har 內存 query 命令 臨時 rdb 執行文件 MySQL數據庫安裝 一、概述 1、什麽是數據庫 ? 答:數據的倉庫,稱其為數據庫 2、什麽是 MySQL、Oracle、SQLite、Access、MS SQL Server等 ? 答:他們均是一

走入計算機的第二(內置模塊3之正則表達式)

不同的 hello col font 數字 ans -a class 本質 一 什麽是正則表達式 就其本質而言,正則表達式(或 RE)是一種小型的、高度專業化的編程語言,(在Python中)它內嵌在Python中,並通過 re 模塊實現。正則表達式模式被編譯成一系列的字節碼

走入計算機的第二(模塊與包的調用)

項目 conf form 第一時間 生產環境 兩個 nag 不同 spec 一 模塊(module)的概念 在計算機程序的開發過程中,隨著程序代碼越寫越多,在一個文件裏代碼就會越來越長,越來越不容易維護。 為了編寫可維護的代碼,我們把很多函數分組,分別放到不同的文件裏,每個

愛創課堂每日一題第二-2017/9/27 棧和隊列的區別??

前端 前端學習 前端入門 棧的插入和刪除操作都是在一端進行的,而隊列的操作卻是在兩端進行的。隊列先進先出,棧先進後出。棧只允許在表尾一端進行插入和刪除,而隊列只允許在表尾一端進行插入,在表頭一端進行刪除愛創課堂每日一題第二十五天-2017/9/27 棧和隊列的區別??

學習python課程第二

一.   三層結構:   1. 使用者檢視層  : 負責與使用者互動 (展示資料,收集資料)     2. 業務邏輯層  : 負責對使用者傳入的資料, 進行 驗證, 判斷, 組裝     3. 資料訪問層  : 負責將業務邏輯層輸

python學習第二(HTML之表單標籤)

form表單標籤 表單用於向伺服器傳輸資料。 表單能夠包含 input 元素,比如文字欄位、複選框、單選框、提交按鈕等等。 表單還可以包含textarea、select、fieldset和 label 元素。 表單屬性 HTML 表單用於接收不同型別的使用者輸入,使用

python 學習第二(事件驅動和io多路複用)

事件驅動模型 原文連結:http://www.cnblogs.com/yuanchenqi/articles/5722574.html 上節的問題: 協程:遇到IO操作就切換。 但什麼時候切回去呢?怎麼確定IO操作完了?

python 學習第二(協程)

協程 協程,又稱微執行緒,纖程。英文名Coroutine。 優點1: 協程極高的執行效率。因為子程式切換不是執行緒切換,而是由程式自身控制,因此,沒有執行緒切換的開銷,和多執行緒比,執行緒數量越多,協程的效能優勢就越明顯。 優點2: 不需要多執行緒的鎖機制,因為只有一個執行緒,

python 學習第二(程序的呼叫,程序池)

程序的呼叫 方法一: from multiprocessing import Process import time def f(name): time.sleep(1) print('hello', name,time.ctim

學習python課程第二

一. TCP協議的三次握手和四次揮手:        首先傳輸層的由來: 網路層的ip幫我們區分子網,乙太網層的mac幫我們找到主機,然後大家使用的都是應用   程式.   你的電腦上可能同時開啟QQ、暴風影音等多個應用程式,那麼我們通過ip和mac找到了一臺特定的主機,如   何表示這

第二- 網絡通信協議 TCP UDP 緩沖區

直接 view 處理請求 本地文件 進行 通過 time 註意 訪問 1.網絡通信協議   osi七層模型:按照分工不同把互聯網協議從邏輯上劃分了層級   socket層 2.理解socket:   Socket是應用層與TCP/IP協議族通信的中間軟