天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

JavaScript進階教程(第三課第二部分)第1/2頁

    要使定時器循環(huán)工作你需要寫一個函數(shù)實現(xiàn)循環(huán)調用。這里是一個例子:

    var the_count = 0;
    var the_timeout;
    function doTimer()
    {
        window.document.timer_form.the_text.value = the_count;
        the_count += 2;
        the_timeout = setTimeout("doTimer();", 2000);
    }

    這里用到的定時器就是所用的定時器。當用戶點擊按鈕時就調用該函數(shù)。該函數(shù)將the_count的當前值寫到文字框中。然后the_count增加2,則開始調用函數(shù)自身。文字框中的數(shù)值也相應更新,the_count在增加2, 則再次調用函數(shù)自身。在等待的這兩秒期間瀏覽器則可以執(zhí)行其他的同步工作。the_count一增加2就執(zhí)行另一次setTimeout()。你不用擔心會造成內存崩潰,因為在給定時間內只有一個setTimeout()在執(zhí)行。

    而無限的"while" 循環(huán)則會鎖定瀏覽器的工作,在執(zhí)行該循環(huán)的過程中瀏覽器不能同時執(zhí)行別的任何指令。而setTimeout則可以使循環(huán)的間隙中讓瀏覽器執(zhí)行別的工作。

    如何取消setTimeout?

    現(xiàn)在你已經(jīng)學習了如何設置一個無限循環(huán)。但是你必須懂得如何終止循環(huán)。其指令就是clearTimeout。上例中定時器還有下面這個表單元素:

    <input type="button" value="stop timer" onClick="clearTimeout(the_timeout);">

    點擊這個按鈕就可以終止定時器。指令是clearTimeout(),其實很簡單,如果你這樣設置setTimeout,the_timeout = setTimeout("some Javascript",3000);

    你可以這樣取消定時器:clearTimeout(the_timeout);

    很簡單,對吧?下面我們看一個復雜循環(huán)定時器,一個可以報告時間的定時器。

    現(xiàn)在時間是:

   

    點擊“啟動時鐘”則時鐘開始運行。它從你的計算機中讀取時間并每半秒更新一次文字框中的顯示。這個例子通過一個自調用的函數(shù)設置了一個定時器。同時這個例子可以讓你了解一點Date對象的功能。當講解cookies時,我提到過Date對象。

    以下是代碼:
    function writeTime() {
        // 獲得日期對象
        var today = new Date();

        // 從對象中獲得信息
        var hours = today.getHours();
        var minutes = today.getMinutes();
        var seconds = today.getSeconds();

        // fixTime 使分和秒可以正常顯示
        // 對于小于10的數(shù)字則在該數(shù)字前加一個0
        minutes = fixTime(minutes);
        seconds = fixTime(seconds);

        //將時間字符串組合在一起并寫出
        var the_time = hours + ":" + minutes + ":" + seconds;
        window.document.the_form.the_text.value = the_time;

        //每半秒鐘執(zhí)行一次該函數(shù)
        the_timeout= setTimeout('writeTime();',500);
    }

    function fixTime(the_time) {
        if (the_time <10)
        {
            the_time = "0" + the_time;
        }

        return the_time;
    }

    我們仔細研究一下代碼。

    var today = new Date();
    正如new Array() 可以生成一個新的數(shù)組,你可以可以用new Date() 生成一個新的日期對象。生成對象之后,你可以對其提出你的問題。你生成的新的日期對象的括號中間沒有任何參數(shù), 但JavaScript會查詢計算機的始終并用其生成新的日期對象。現(xiàn)在我們的日期對象名為"today" ,我們可以從中提取相應的信息。

    var hours = today.getHours();
    這條用于獲得當前的小時值。它是軍隊格式的時間,即,如果當前時間是下午兩點,則它返回的值是14。getHours()是Javascript的日期對象內置的方法調用。

    var minutes = today.getMinutes(); var seconds = today.getSeconds();
    這幾行原理和getHours()類似。

    minutes = fixTime(minutes);
    getMinutes存在一些問題,如果分鐘是11:01, getMinutes將返回 "1"。時鐘的顯示格式可不是這樣,它應該顯示為“01”。fixTime函數(shù)就是用于執(zhí)行糾正顯示格式的功能。

    下面兩行將字符串組合在一起并顯示出來,
    the_timeout = setTimeout('writeTime();', 500);

    設置每半秒執(zhí)行一次該函數(shù)的循環(huán)。

    下一講我們將學習如何在定時器中加入變量。

JavaScript技術JavaScript進階教程(第三課第二部分)第1/2頁,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 人妻熟妇乱又伦精品视频中文字幕 | 高h浪荡文辣文神奇宝贝 | 亚洲免费国产在线日韩 | 日本粉嫩学生毛绒绒 | 亚洲AV久久久久久久无码 | 中文无码不卡的岛国片国产片 | 蜜饯1V1高H- 秘密影院久久综合亚洲综合 | 爽死你个放荡粗暴小淫货漫画 | 中文字幕在线视频网站 | 亚洲精品一线二线三线无人区 | 日韩午夜欧美精品一二三四区 | 亚洲男女羞羞无遮挡久久丫 | 日韩精品无码视频一区二区蜜桃 | 人C交ZZZ0OOZZZ000| 偷尝禁果H1V1幸运的山熊 | bbw videos 欧美老妇 | 国产美女又黄又爽又色视频网站 | 欧美午夜精品久久久久久浪潮 | 国产成人理在线观看视频 | 在线观看免费小视频 | my pico未删减在线观看 | 国产精品美女WWW爽爽爽视频 | 成人无码精品一区二区在线观看 | 手机在线播放成人亚洲影院电影 | 亚洲 欧美 国产 综合五月天 | 国产婷婷综合在线视频中文 | 国内精品乱码卡一卡2卡三卡 | 秋霞电影院午夜伦高清 | 亚洲国产成人久久一区www妖精 | 国产精品伦一区二区三级视频 | 柠檬福利精品视频导航 | 永久免费看A片无码网站四虎 | www精品一区二区三区四区 | 韩国黄电影 | 妈妈的朋友5在线观看免费完整版中文 | 久草热在线 | 果冻传媒2021在线观看 | 久久精品亚洲热综合一本 | 老年日本老年daddy | 调教椅上的调教SM总裁被调教 | 亚洲综合国产在不卡在线 |