zoukankan      html  css  js  c++  java
  • javascript(定时函数)

    一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值);
    eg.
    1.倒计时的效果
    <!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>
    2.图片的切换
    <!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" alt="Alternate Text" width="200px" height="200px" id="myimg" />
    </body>
    </html>
     
  • 相关阅读:
    算法Sedgewick第四版-第1章基础-014一用stack把前置表达式转为后置表达式并计算值
    算法Sedgewick第四版-第1章基础-013一用stack实现自动补全表达式括号
    算法Sedgewick第四版-第1章基础-012一用stack实现输出一个数的二进制形式
    算法Sedgewick第四版-第1章基础-011一用链表实现bag、queue、stack
    算法Sedgewick第四版-第1章基础-010一检查括号是否成对出现
    算法Sedgewick第四版-第1章基础-009一链表与数组的比较及其他数据结构
    算法Sedgewick第四版-第1章基础-008一用数组实现栈(泛型、可变大小)
    算法Sedgewick第四版-第1章基础-007一用两个栈实现简单的编译器
    webApi2 上传大文件代码
    IE8 AJAX 不能正常工作 解决办法
  • 原文地址:https://www.cnblogs.com/yejiaojiao/p/5513077.html
Copyright © 2011-2022 走看看