zoukankan      html  css  js  c++  java
  • setInterval 和 setTimeout

    <script type="text/javascript"> $(function () {     function setWidth() {  $("#targetcon").css({  $("#divcon").width()-50 + "px" });     }     setWidth();     setInterval(setWidth, 50); }) </script>
    要想知道它们是怎么停止的,首先我们要了解它们的运行机制和原理:

    先来了解 setInterval :

    --------------------------------------------------------------------------------------------------------

    1,HTML DOM setInterval() 方法


    定义和用法
    setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。

    setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。

    语法
    setInterval(code,millisec[,"lang"])

    参数 描述
    code 必需。要调用的函数或要执行的代码串。
    millisec 必须。周期性执行或调用 code 之间的时间间隔,以毫秒计。


    返回值
    一个可以传递给 Window.clearInterval() 从而取消对 code 的周期性执行的值。

    ---------------------------------------------------

    2,HTML DOM clearInterval()方法

    定义和用法
    clearInterval() 方法可取消由 setInterval() 设置的 timeout。

    clearInterval() 方法的参数必须是由 setInterval() 返回的 ID 值。

    语法
    clearInterval(id_of_setinterval)

    参数 描述
    id_of_setinterval 由 setInterval() 返回的 ID 值。


    如何停止:

    下面这个例子将每隔 50 毫秒调用 clock() 函数。您也可以使用一个按钮来停止这个 clock:

    <html>
    <body>

    <input type="text" id="clock" size="35" />
    <script language=javascript>
    var int=self.setInterval("clock()",50)
    function clock()
    {
    var t=new Date()
    document.getElementById("clock").value=t
    }
    </script>
    </form>
    <button onclick="int=window.clearInterval(int)">
    Stop interval</button>

    </body>
    </html>

    --------------------------------------------------------------------------------------------------------

    再来了解 setTimeout :

    1,HTML DOM setTimeout() 方法

    定义和用法
    setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。

    语法
    setTimeout(code,millisec)

    参数 描述
    code 必需。要调用的函数后要执行的 JavaScript 代码串。
    millisec 必需。在执行代码前需等待的毫秒数。


    提示和注释
    提示:setTimeout() 只执行 code 一次。如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout()。

    实例,这个例子,在你点击按钮 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>
    <p>Click on the button above. An alert box will be
    displayed after 5 seconds.</p>
    </body>

    </html>
    -----------------------------
    2,HTML DOM clearTimeout() 方法
    定义和用法clearTimeout() 方法可取消由 setTimeout() 方法设置的 timeout。语法clearTimeout(id_of_settimeout)



    参数 描述
    id_of_setinterval 由 setTimeout() 返回的 ID 值。该值标识要取消的延迟执行代码块。



    实例下面的例子每秒调用一次 timedCount() 函数。您也可以使用一个按钮来终止这个定时消息:<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>



    标签: setInterval setTimeout
  • 相关阅读:
    计算机的组成部分
    从LINQ开始之LINQ to Objects(下)
    从LINQ开始之LINQ to Objects(上)
    vue.js devtools-------调试vue.js的开发者插件
    Sublime快捷键(一)
    配置node,sass,淘宝镜像环境
    vue--------脚手架vue-cli搭建
    Sublime之插件的安装(一)
    计算机网络之万维网WWW
    官网下载java相关资源
  • 原文地址:https://www.cnblogs.com/suizhikuo/p/2290736.html
Copyright © 2011-2022 走看看