zoukankan      html  css  js  c++  java
  • 【Javascript】javascript学习 三十五 JavaScript 计时

    通过使用 JavaScript,我们有能力做到在一个设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行。我们称之为计时事件。

    实例

    简单的计时
    单击本例中的按钮后,会在 5 秒后弹出一个警告框。
    另一个简单的计时
    本例中的程序会执行 2 秒、4 秒和 6 秒的计时。
    在一个无穷循环中的计时事件
    在本例中,单击开始计时按钮后,程序开始从 0 以秒计时。
    带有停止按钮的无穷循环中的计时事件
    在本例中,点击计数按钮后根据用户输入的数值开始倒计时,点击停止按钮停止计时。
    使用计时事件制作的钟表
    一个 JavaScript 小时钟

    JavaScript 计时事件

    通过使用 JavaScript,我们有能力作到在一个设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行。我们称之为计时事件。

    在 JavaScritp 中使用计时事件是很容易的,两个关键方法是:

    setTimeout()
    未来的某时执行代码
    clearTimeout()
    取消setTimeout()

    setTimeout()

    语法

    var t=setTimeout("javascript语句",毫秒)

    setTimeout() 方法会返回某个值。在上面的语句中,值被储存在名为 t 的变量中。假如你希望取消这个 setTimeout(),你可以使用这个变量名来指定它。

    setTimeout() 的第一个参数是含有 JavaScript 语句的字符串。这个语句可能诸如 "alert('5 seconds!')",或者对函数的调用,诸如 alertMsg()"。

    第二个参数指示从当前起多少毫秒后执行第一个参数。

    提示:1000 毫秒等于一秒。

    实例

    当下面这个例子中的按钮被点击时,一个提示框会在5秒中后弹出。

    <html>
    <head>
    <script type="text/javascript">
    function timedMsg()
     {
     var t=setTimeout("alert('5 seconds!')",5000)
     }
    </script>
    </head>
    
    <body>
    <form>
    <input type="button" value="Display timed alertbox!" onClick="timedMsg()">
    </form>
    </body>
    </html>

    实例 - 无穷循环

    要创建一个运行于无穷循环中的计时器,我们需要编写一个函数来调用其自身。在下面的例子中,当按钮被点击后,输入域便从 0 开始计数。

    <html>
    
    <head>
    <script type="text/javascript">
    var c=0
    var t
    function timedCount()
     {
     document.getElementById('txt').value=c
     c=c+1
     t=setTimeout("timedCount()",1000)
     }
    </script>
    </head>
    
    <body>
    <form>
    <input type="button" value="Start count!" onClick="timedCount()">
    <input type="text" id="txt">
    </form>
    </body>
    
    </html>

    clearTimeout()

    语法

    clearTimeout(setTimeout_variable)

    实例

    下面的例子和上面的无穷循环的例子相似。唯一的不同是,现在我们添加了一个 "Stop Count!" 按钮来停止这个计数器:

    <html>
    
    <head>
    <script type="text/javascript">
    var c=0
    var t
    
    function timedCount()
     {
     document.getElementById('txt').value=c
     c=c+1
     t=setTimeout("timedCount()",1000)
     }
    
    function stopCount()
     {
     clearTimeout(t)
     }
    </script>
    </head>
    
    <body>
    <form>
    <input type="button" value="Start count!" onClick="timedCount()">
    <input type="text" id="txt">
    <input type="button" value="Stop count!" onClick="stopCount()">
    </form>
    </body>
    
    </html>
  • 相关阅读:
    使用栈检测括号是否成对出现
    java多线程基本概述(十七)——原子性和易变性
    java多线程基本概述(十六)——捕获异常
    java多线程基本概述(十五)——DaemonThread
    java多线程基本概述(十四)——Thread内部类的几种写法
    java多线程基本概述(十三)——Executor
    java多线程基本概述(十二)——多线程与单例
    java多线程基本概述(十一)——ReadWriteLock
    java多线程基本概述(十)——Condition
    java多线程基本概述(九)——Lock(3)
  • 原文地址:https://www.cnblogs.com/cuishao1985/p/1534407.html
Copyright © 2011-2022 走看看