网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的考试资料:

 

标题 深入理解setTimeout函数和setInterval函数
内容
    下面小编就为大家带来一篇深入理解setTimeout函数和setInterval函数。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。
    前几天学了js,看到了两个非常有趣的函数,他们分别是setTimeout函数和setInterval函数,这两个函数能使网页呈现非常一些网页中比较常见的效果,比如说图片轮播,等一些非常好玩的效果。下面就来一起来了解这两个函数吧!
    一setTimeout函数和setInterval函数的语法以及应用
    1.setTimeout函数
    定义和用法:setTimeout()方法用于在指定的毫秒数后调用函数或计算表达式。  
    语法:setTimeout(code,millisec);
    参数:
    code (必需):要调用的函数后要执行的 JavaScript 代码串。   
    millisec(必需):在执行代码前需等待的毫秒数。  
    提示:
    setTimeout() 只执行 code 一次。如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout()。
    返回值
    一个可以传递给 Window.clearTimeout() 从而取消对 code 的周期性执行的值。
    既然setTimeout是一个定时器函数,那么就有一个一个函数来清理定时器,那我们就用到了clearTimeout函数。
    clearTimeout(setTimeout()返回的ID值);
    2.setInterval定义
    setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。
    setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。
    语法
    setInterval(code,millisec[,"lang"]);
    参数code必需。要调用的函数或要执行的代码串。
    millisec必须。周期性执行或调用 code 之间的时间间隔,以毫秒计
    返回值
    一个可以传递给 Window.clearInterval() 从而取消对 code 的周期性执行的值。
    既然setTimeout是一个定时器函数,那么就有一个一个函数来清理定时器,那我们就用到了clearInterval()函数。
    clearInterval()(setInterval()返回的ID值);
    二.案例:
    倒计时效果
    <!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/ecmascript">
        //使用js方式实现倒计时效果
        var t1;
        window.onload = function () {
          //01定位到开始按钮返回一个dom对象
          var btns = document.getElementById('btnStart');
          //02.给开始按钮注册单击事件
          btns.onclick = function () {
            //执行ssetInerval函数第一个参数要定时执行的函数,第二个参数该函数每个多少毫秒执行一次
            t1= setInterval(start, 1000);
          }
          //03定位到停止按钮返回一个dom对象
          var btnst = document.getElementById('btnStop');
          btnst.onclick = function () {
            clearInterval(t1);
          }
        }
        //要隔1秒执行的函数
        function start() {
          //01.获取div中的文本赋值给一个变量
          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;//定义初始变量默认为第一张图片
        window.onload = function () {
          //使用定时器函数每隔一秒定义执行一次show函数
          setInterval(show,1000);
        }
        //要执行的函数
        function show() {
          //如果图片到达最后一张(5张),就将下一张显示的图片改为第一张,如果没有到达最后一张就将显示下一张图片
          if (count > 5) {
            count = 1;
          }
          else {
            count++;
          }
          //获取id为myimg的dom对象
          var dom = document.getElementById("myimg");
          //改变img标签的src属性指向,改变图片
          dom.src = "image/"+count+".jpg"
        }
      </script>
    </head>
    <body>
      <img src="image/1.jpg" width="200px" height="200px" id="myimg" />
    </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 data = ['张三', '李四', '王二', '小陈', '小张'];
        var i = 0;//声明一个初始变量默认让第一个人显示在页面上
        var t1;
        window.onload = function () {
          //02.获取开始点名按钮的dom对象给该对象注册单击事件
          var dom = document.getElementById("mybtn");
          dom.onclick = function () {
            //使用setInterval函数隔500毫秒调用一次result函数
            t1 = setInterval(start, 500);
            //该方法隔6秒他只调用一次
            setTimeout(stop,6000);
          }
          //定义一个匿名函数把他赋值给一个变量result
           var start= function() {
            //03获取h1标签对象,给h1标签的文本赋值
            var domh = document.getElementById("myh1");
            domh.innerText = data[i % data.length];//替换已存在,元素值
            i++;
           }
          //调用匿名函数
           start();
           var stop = function () {
             //清除定时器
             clearInterval(t1);
             //弹出提示框点到的同学请作答
             alert("请" + document.getElementById("myh1").innerText+"同学作答");
           }
        }
    </script>
    </head>
    <body>
      <h1 id="myh1"></h1>
    <button id="mybtn"> 开始点名</button>
    </body>
    </html>
    通过上面的几个案例,我相信大家一点对这两个函数应该不陌生了。
    以上这篇深入理解setTimeout函数和setInterval函数就是小编分享给大家的全部内容了,希望能给大家一个参考
随便看

 

在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/17 9:46:35