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

JavaScript進(jìn)階教程(第三課第二部分)第1/2頁(yè)

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

    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í)器。當(dāng)用戶點(diǎn)擊按鈕時(shí)就調(diào)用該函數(shù)。該函數(shù)將the_count的當(dāng)前值寫(xiě)到文字框中。然后the_count增加2,則開(kāi)始調(diào)用函數(shù)自身。文字框中的數(shù)值也相應(yīng)更新,the_count在增加2, 則再次調(diào)用函數(shù)自身。在等待的這兩秒期間瀏覽器則可以執(zhí)行其他的同步工作。the_count一增加2就執(zhí)行另一次setTimeout()。你不用擔(dān)心會(huì)造成內(nèi)存崩潰,因?yàn)樵诮o定時(shí)間內(nèi)只有一個(gè)setTimeout()在執(zhí)行。

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

    如何取消setTimeout?

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

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

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

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

    很簡(jiǎn)單,對(duì)吧?下面我們看一個(gè)復(fù)雜循環(huán)定時(shí)器,一個(gè)可以報(bào)告時(shí)間的定時(shí)器。

    現(xiàn)在時(shí)間是:

   

    點(diǎn)擊“啟動(dòng)時(shí)鐘”則時(shí)鐘開(kāi)始運(yùn)行。它從你的計(jì)算機(jī)中讀取時(shí)間并每半秒更新一次文字框中的顯示。這個(gè)例子通過(guò)一個(gè)自調(diào)用的函數(shù)設(shè)置了一個(gè)定時(shí)器。同時(shí)這個(gè)例子可以讓你了解一點(diǎn)Date對(duì)象的功能。當(dāng)講解cookies時(shí),我提到過(guò)Date對(duì)象。

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

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

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

        //將時(shí)間字符串組合在一起并寫(xiě)出
        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;
    }

    我們仔細(xì)研究一下代碼。

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

    var hours = today.getHours();
    這條用于獲得當(dāng)前的小時(shí)值。它是軍隊(duì)格式的時(shí)間,即,如果當(dāng)前時(shí)間是下午兩點(diǎn),則它返回的值是14。getHours()是Javascript的日期對(duì)象內(nèi)置的方法調(diào)用。

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

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

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

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

    下一講我們將學(xué)習(xí)如何在定時(shí)器中加入變量。

JavaScript技術(shù)JavaScript進(jìn)階教程(第三課第二部分)第1/2頁(yè),轉(zhuǎn)載需保留來(lái)源!

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

主站蜘蛛池模板: 亚瑟天堂久久一区二区影院 | 小骚妇BBBXXX | 一道精品视频一区二区三区 | 欧美一夜爽爽爽爽爽爽 | 亚洲国产在线精品国 | 麻豆国产精品久久人妻 | 91精品欧美一区二区三区 | 欧美久久综合性欧美 | 伦理电影v男人天堂 | 亚洲另类国产综合在线 | 曰产无码久久久久久精品 | 美美哒高清在线播放8 | 男人插曲女人的视频 | 全黄h全肉细节全文 | 久久受www免费人成_看片中文 | 日本无吗高清 | 日韩欧无码一区二区三区免费不卡 | 无码人妻丰满熟妇区五十路久久 | 亚洲精品美女久久777777 | 久久国产乱子伦精品免费不卡 | 爽爽窝窝午夜精品一区二区 | 久久囯产精品777蜜桃传媒 | 国产精品久久久久久久A片冻果 | 国产偷国产偷亚洲高清人乐享 | www.久艹| 99热在线视频这里只精品 | 国产在线成人一区二区三区 | 中国女人内谢69XXXXXA片 | 国产精品99AV在线观看 | 国产中文视频 | 亚洲国产成人一区二区在线 | 久久国产香蕉 | 欧美精品九九99久久在免费线 | 免费观看成人www精品视频在线 | 中文字幕在线视频免费观看 | 果冻传媒在线观看完整版免费 | 国产最猛性XXXX69交 | 视频成人永久免费视频 | 中文字幕在线视频免费观看 | 我的美女奴隶 | 亚洲欧美视频在线 |