浅析javascript的间隔调用和延时调用

用 setInterval方法可以以指定的间隔实现循环调用函数,直到clearInterval方法取消循环

用clearInterval方法取消循环时,必须将setInterval方法的调用赋值给一个变量,然后clearInterval方法引用该变量。

代码如下:

<script type="text/javascript">
    var n = 0;
    function print(){
        document.writeln(n);
       
        if(n==1000){
        window.clearInterval(s);
        }   
        n++;
    }
     var s = window.setInterval(print, 10);
</script>

用setTimeout和clearTimeout完成延时调用,在指定的延迟时间之后运行指定函数,只执行一次。clearTimeout的用法同clearInterval方法的用法相同。

代码如下:

<script type="text/javascript">
    function printTime(){
        var time = new Date();
        var year = time.getFullYear();
        var month = (time.getMonth())+1;
        var daynum = time.getDay();
        var hour = time.getHours();
        var min = time.getMinutes();
        var sec = time.getSeconds();
        var da = time.getDate();
        var daystr;
        switch(daynum){
        case 0: daystr="星期日";
            break;
        case 1: daystr="星期一";
            break;
        case 2: daystr="星期二";
            break;
        case 3: daystr="星期三";
            break;
        case 4: daystr="星期四";
            break;
        case 5: daystr="星期五";
            break;
        case 6: daystr="星期六";
            break;
        default: daystr="";
        }
        var str = year+"年"+month+"月"+da+"日  "+daystr+" "+hour+": "+min+": "+sec;
        document.getElementById("t").innerHTML = str;
        window.setTimeout(printTime, 1000);
    }
</script>

<body onload="printTime()">
<br/>
<div id="t"></div>
</body>

(0)

相关推荐

  • JavaScript延时效果比较不错的

    nereidFadeObjects = new Object(); nereidFadeTimers = new Object(); function nereidFade(object, destOp, rate, delta){ if (!document.all) return if (object != "[object]"){ setTimeout("nereidFade("+object+","+destOp+","

  • javascript延时加载之defer测试

    偶尔发现 js 中有个延时加载的标签 defer,还在疑惑这么好用的东西为什么没有流行起来. 测试了几个浏览器.在ie7,8,9和360安全济览器下可以.这就是为什么不选择defer的原因了. 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

  • javascript延时重复执行函数 lLoopRun.js

    function lLoopRun(sFuncLoop,sFuncEnd,nDelay) { //writen by http://fengyan.iecn.cn //sFuncLoop >> 字符串型,需要重复执行的Javascript函数或语句(多个函数或语句请用;分隔) //sFuncEnd >> 字符串型,用于中止重复执行动作(sFuncLoop)的Javascript函数或语句 //nDelay >> 数字型,重复执行的时间间隔(毫秒数) var vinter

  • javascript实现iframe框架延时加载的方法

    本文实例讲述了javascript实现iframe框架延时加载的方法.分享给大家供大家参考.具体实现方法如下: 有的时候我们希望页面的一些东西实现延时加载,这样可以不影响网站打开速度,下面我来给大家介绍javascript实现iframe框架延时加载方法吧. 需要加载区域HTML代码: 复制代码 代码如下: <div id="indexlogin"></div> 下面代码放在底部 复制代码 代码如下: <span id="tmpjsnews&qu

  • 原生javaScript实现图片延时加载的方法

    本文实例讲述了原生javaScript实现图片延时加载的方法.图片延时加载其实是有jquery插件了并且加载方法非常的简单并且合理了,但有朋友觉得加载jquery插件包太大了,于时自己写了一个,给各位分享一下. 首先,图片延时加载可以节省我们带宽,获取到更好的用户体验,尤其对于图片多的站点,这一点显得至关重要,下面就跟大家探讨一下图片延时加载原理和实现代码. 图片延时加载原理 图片延时加载原理是在html里面的图片src填的并不是真正的图片地址,而是以一种自定义属性把图片地址赋给img标签,如:

  • javascript间隔定时器(延时定时器)学习 间隔调用和延时调用

    用setInterval方法可以以指定的间隔实现循环调用函数,直到clearInterval方法取消循环 用clearInterval方法取消循环时,必须将setInterval方法的调用赋值给一个变量,然后clearInterval方法引用该变量. 复制代码 代码如下: <script type="text/javascript">    var n = 0;    function print(){        document.writeln(n); if(n==1

  • Javascript Function对象扩展之延时执行函数

    不就利用window对象的setTimeout方法吗?Bingo,一点没错!如果你在一个应用里面常常要"延时执行某某函数",那末基于DRY的原则,可以针对Function全局对象进行扩展,为函数增加一个延时方法如delay,这样会让你的代码更简洁有效. 扩站Function对象增加delay方法如下: 复制代码 代码如下: Function.prototype.delay=function(this1,timeout){ this1=this1||null; timeout=timeo

  • 原生javascript图片自动或手动切换示例附演示源码

    一.效果图  二.html代码 复制代码 代码如下: <style type="text/css"> .container, .container *{margin:0; padding:0;} .container{width:408px; height:168px; overflow:hidden;position:relative;} .slider{position:absolute;} .slider li{ list-style:none;display:inl

  • 原生javascript实现图片轮播效果代码

    看到BlueDream在他博客上写的javascript仿QQ滑动菜单的效果,代码实在是优雅,相比较差别一下就凸显了,下次再把他代码的精髓偷过来,嘿嘿. [原理简述] html和css跟JQuery实现图片轮播效果里面的一样,略去.主要是几个公共函数,渐显和渐失,用闭包实现.至于主体逻辑部分,非常一般. [程序源码] 贴几个公共函数算了,fadeIn,渐显,fadeOut,渐失 复制代码 代码如下: function id(name) {return document.getElementByI

  • javascript 不停(setInterval)/延时(setTimeout)函数使用实例

    setTimeout(script,millisecond); 是从现在算起多少微秒后运行该代码(只运行一次) setInterval(script,millisecond); 是每隔多少微秒运行一次代码 示例: 1.执行一次 秒 var i = 1 ; var txt = document.getElementById( " time " ); function addT(i) { txt.innerHTML = i; } setTimeout(" addT(i++) &q

随机推荐