欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

深入理解setTimeout函數(shù)和setInterval函數(shù)

 更新時(shí)間:2016年05月20日 16:18:38   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇深入理解setTimeout函數(shù)和setInterval函數(shù)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧

 前幾天學(xué)了js,看到了兩個(gè)非常有趣的函數(shù),他們分別是setTimeout函數(shù)和setInterval函數(shù),這兩個(gè)函數(shù)能使網(wǎng)頁(yè)呈現(xiàn)非常一些網(wǎng)頁(yè)中比較常見的效果,比如說圖片輪播,等一些非常好玩的效果。下面就來(lái)一起來(lái)了解這兩個(gè)函數(shù)吧!

一setTimeout函數(shù)和setInterval函數(shù)的語(yǔ)法以及應(yīng)用

1.setTimeout函數(shù)

定義和用法:setTimeout()方法用于在指定的毫秒數(shù)后調(diào)用函數(shù)或計(jì)算表達(dá)式。  

語(yǔ)法:setTimeout(code,millisec);

參數(shù):

code (必需):要調(diào)用的函數(shù)后要執(zhí)行的 JavaScript 代碼串。   

millisec(必需):在執(zhí)行代碼前需等待的毫秒數(shù)?! ?/p>

提示:

setTimeout() 只執(zhí)行 code 一次。如果要多次調(diào)用,請(qǐng)使用 setInterval() 或者讓 code 自身再次調(diào)用 setTimeout()。

返回值

一個(gè)可以傳遞給 Window.clearTimeout() 從而取消對(duì) code 的周期性執(zhí)行的值。

既然setTimeout是一個(gè)定時(shí)器函數(shù),那么就有一個(gè)一個(gè)函數(shù)來(lái)清理定時(shí)器,那我們就用到了clearTimeout函數(shù)。

clearTimeout(setTimeout()返回的ID值);

2.setInterval定義

setInterval() 方法可按照指定的周期(以毫秒計(jì))來(lái)調(diào)用函數(shù)或計(jì)算表達(dá)式。

setInterval() 方法會(huì)不停地調(diào)用函數(shù),直到 clearInterval() 被調(diào)用或窗口被關(guān)閉。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的參數(shù)。

語(yǔ)法

setInterval(code,millisec[,"lang"]);

參數(shù)code必需。要調(diào)用的函數(shù)或要執(zhí)行的代碼串。

millisec必須。周期性執(zhí)行或調(diào)用 code 之間的時(shí)間間隔,以毫秒計(jì)

返回值

一個(gè)可以傳遞給 Window.clearInterval() 從而取消對(duì) code 的周期性執(zhí)行的值。

既然setTimeout是一個(gè)定時(shí)器函數(shù),那么就有一個(gè)一個(gè)函數(shù)來(lái)清理定時(shí)器,那我們就用到了clearInterval()函數(shù)。

clearInterval()(setInterval()返回的ID值);

二.案例:

倒計(jì)時(shí)效果

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  <title>倒計(jì)時(shí)效果</title>
  <script type="text/ecmascript">
    //使用js方式實(shí)現(xiàn)倒計(jì)時(shí)效果
    var t1;
    window.onload = function () {
     
      //01定位到開始按鈕返回一個(gè)dom對(duì)象
      var btns = document.getElementById('btnStart');
      //02.給開始按鈕注冊(cè)單擊事件
      btns.onclick = function () {
        //執(zhí)行ssetInerval函數(shù)第一個(gè)參數(shù)要定時(shí)執(zhí)行的函數(shù),第二個(gè)參數(shù)該函數(shù)每個(gè)多少毫秒執(zhí)行一次
        t1= setInterval(start, 1000);

      }
      //03定位到停止按鈕返回一個(gè)dom對(duì)象
      var btnst = document.getElementById('btnStop');
      btnst.onclick = function () {
        clearInterval(t1);
      }
    }
    //要隔1秒執(zhí)行的函數(shù)
    function start() {
      //01.獲取div中的文本賦值給一個(gè)變量
      var divdom = document.getElementById('msg');
      var divnum = divdom.innerText;
      //判斷divnum的值是否為0
      if (divnum > 0) {
        divnum--;
        //把減過的值重新賦值給divnum
        divdom.innerText = divnum;
      }
    }
  </script>
</head>
<body>
  <input type="button" id="btnStart" value="開始" />
  <input type="button" id="btnStop" value="停止" /><br />
  <div id="msg">10</div>

</body>
</html>

背景圖片切換:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  <title></title>
  <script type="text/javascript">
    var count = 1;//定義初始變量默認(rèn)為第一張圖片
    window.onload = function () {
      //使用定時(shí)器函數(shù)每隔一秒定義執(zhí)行一次show函數(shù)
      setInterval(show,1000);
    }
    //要執(zhí)行的函數(shù)
    function show() {
      //如果圖片到達(dá)最后一張(5張),就將下一張顯示的圖片改為第一張,如果沒有到達(dá)最后一張就將顯示下一張圖片
      if (count > 5) {
        count = 1;
      }
      else {
        count++;
      }
      //獲取id為myimg的dom對(duì)象
      var dom = document.getElementById("myimg");
      //改變img標(biāo)簽的src屬性指向,改變圖片
      dom.src = "image/"+count+".jpg"
    }

  </script>
</head>
<body>
  <img src="image/1.jpg" alt="Alternate Text" width="200px" height="200px" id="myimg" />
</body>
</html>

點(diǎn)名器

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  <title></title>
  <script type="text/javascript">
    //定義一個(gè)數(shù)組保存該點(diǎn)名器中的基本數(shù)據(jù)
    var data = ['張三', '李四', '王二', '小陳', '小張'];
    var i = 0;//聲明一個(gè)初始變量默認(rèn)讓第一個(gè)人顯示在頁(yè)面上
    var t1;
    window.onload = function () {
      //02.獲取開始點(diǎn)名按鈕的dom對(duì)象給該對(duì)象注冊(cè)單擊事件
      var dom = document.getElementById("mybtn");
      dom.onclick = function () {
        //使用setInterval函數(shù)隔500毫秒調(diào)用一次result函數(shù)
        t1 = setInterval(start, 500);
        //該方法隔6秒他只調(diào)用一次
        setTimeout(stop,6000);
      }
      //定義一個(gè)匿名函數(shù)把他賦值給一個(gè)變量result
       var start= function() {
        //03獲取h1標(biāo)簽對(duì)象,給h1標(biāo)簽的文本賦值
        var domh = document.getElementById("myh1");
        domh.innerText = data[i % data.length];//替換已存在,元素值
        i++;
       }
      //調(diào)用匿名函數(shù)
       start();
       var stop = function () {
         //清除定時(shí)器
         clearInterval(t1);
         //彈出提示框點(diǎn)到的同學(xué)請(qǐng)作答
         alert("請(qǐng)" + document.getElementById("myh1").innerText+"同學(xué)作答");
       }
      
    }
</script>
</head>
<body>
  <h1 id="myh1"></h1>
<button id="mybtn"> 開始點(diǎn)名</button>

</body>

</html>

通過上面的幾個(gè)案例,我相信大家一點(diǎn)對(duì)這兩個(gè)函數(shù)應(yīng)該不陌生了。

以上這篇深入理解setTimeout函數(shù)和setInterval函數(shù)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解決layui表格的表頭不滾動(dòng)的問題

    解決layui表格的表頭不滾動(dòng)的問題

    今天小編就為大家分享一篇解決layui表格的表頭不滾動(dòng)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2019-09-09
  • 微信小程序點(diǎn)擊滾動(dòng)到指定位置的實(shí)現(xiàn)

    微信小程序點(diǎn)擊滾動(dòng)到指定位置的實(shí)現(xiàn)

    這篇文章主要介紹了微信小程序點(diǎn)擊滾動(dòng)到指定位置的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • JS實(shí)現(xiàn)元素的拖動(dòng)與占位功能

    JS實(shí)現(xiàn)元素的拖動(dòng)與占位功能

    這篇文章主要介紹了JS實(shí)現(xiàn)元素的拖動(dòng)與占位功能,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-11-11
  • (跨瀏覽器基礎(chǔ)事件/瀏覽器檢測(cè)/判斷瀏覽器)經(jīng)驗(yàn)代碼分享

    (跨瀏覽器基礎(chǔ)事件/瀏覽器檢測(cè)/判斷瀏覽器)經(jīng)驗(yàn)代碼分享

    一些js代碼,自己備用的,高手不要笑話我。(跨瀏覽器基礎(chǔ)事件,瀏覽器檢測(cè),判斷瀏覽器的名稱、版本號(hào)、操作系統(tǒng))等等,很實(shí)用的,方便自己使用,感興趣的朋友可以了解下,希望本文對(duì)你有所幫助
    2013-01-01
  • Javascript數(shù)組的?splice?方法詳細(xì)介紹

    Javascript數(shù)組的?splice?方法詳細(xì)介紹

    這篇文章主要介紹了Javascript數(shù)組的splice方法詳細(xì)介紹,splice方法通過刪除或替換現(xiàn)有元素或者原地添加新的元素來(lái)修改數(shù)組,并以數(shù)組形式返回被修改的內(nèi)容。此方法會(huì)改變?cè)瓟?shù)組
    2022-09-09
  • 微信小程序?qū)崿F(xiàn)圖片壓縮

    微信小程序?qū)崿F(xiàn)圖片壓縮

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)圖片壓縮,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • JavaScript?原始包裝類型匯總

    JavaScript?原始包裝類型匯總

    這篇文章主要介紹了JavaScript?原始包裝類型匯總,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-05-05
  • JS實(shí)現(xiàn)點(diǎn)擊鏈接取消跳轉(zhuǎn)效果的方法

    JS實(shí)現(xiàn)點(diǎn)擊鏈接取消跳轉(zhuǎn)效果的方法

    有時(shí)候我們僅僅希望將鏈接<a>作為一個(gè)按鈕使用,但是在默認(rèn)狀態(tài)下,點(diǎn)擊鏈接會(huì)出現(xiàn)跳轉(zhuǎn)效果,下面就通過代碼實(shí)例,介紹一下如何實(shí)現(xiàn)此效果
    2014-01-01
  • 如何檢測(cè)JavaScript中的死循環(huán)示例詳解

    如何檢測(cè)JavaScript中的死循環(huán)示例詳解

    這篇文章主要給大家介紹了關(guān)于如何檢測(cè)JavaScript中死循環(huán)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 你有必要知道的10個(gè)JavaScript難點(diǎn)

    你有必要知道的10個(gè)JavaScript難點(diǎn)

    10個(gè)JavaScript難點(diǎn),你可能還不知道,不著急,本文為大家一一列出,一一攻破,感興趣的小伙伴們可以參考一下
    2017-07-07

最新評(píng)論