javascript如何实现暂停功能

本文实例讲述了JS实现的自定义网页拖动类。分享给大家供大家参考,具体如下:
Javascript本身没有暂停功能(sleep不能使用)同时 vbscript也不能使用doEvents,故编写此函数实现此功能。
javascript作为弱对象语言,一个函数也可以作为一个对象使用。
比如:

  function Test(){
   alert("hellow");
   this.NextStep=function(){
   alert("NextStep");
   }
  } 

我们可以这样调用 var myTest=new Test();myTest.NextStep(); 
我们做暂停的时候可以吧一个函数分为两部分,暂停操作前的不变,把要在暂停后执行的代码放在this.NextStep中。
为了控制暂停和继续,我们需要编写两个函数来分别实现暂停和继续功能。
暂停函数如下:  

<script language="javascript">
  function sleep(obj,iMinSecond){
   if (window.eventList==null) window.eventList=new Array();
   var ind=-1;
   for (var i=0;i<window.eventList.length;i++){
    if (window.eventList[i]==null) {
     window.eventList[i]=obj;
     ind=i;
     break;
    }
   }
  
   if (ind==-1){
    ind=window.eventList.length;
    window.eventList[ind]=obj;
   } 

   setTimeout("goon(" + ind + ")",iMinSecond);
  }
  /*
  该函数把要暂停的函数放到数组window.eventList里,同时通过setTimeout来调用继续函数。
  继续函数如下:
  */ 

  function goon(ind){
   var obj=window.eventList[ind];
   window.eventList[ind]=null;
   if (obj.NextStep) obj.NextStep();
   else obj();
  }
  /*
  该函数调用被暂停的函数的NextStep方法,如果没有这个方法则重新调用该函数。
  
  函数编写完毕,我们可以作如下:
  */
  function Test(){
   alert("hellow");
   sleep(this,3000);//调用暂停函数
   this.NextStep=function(){
   alert("NextStep");
   }
  }
Test();
  </script>

希望本文对大家学习javascript程序设计有所帮助。

(0)

相关推荐

  • 用Javascript实现Sleep暂停功能代码

    复制代码 代码如下: <SCRIPT LANGUAGE="JavaScript"> <!-- function Sleep(obj,iMinSecond) { if (window.eventList==null) window.eventList=new Array(); var ind=-1; for (var i=0;i<window.eventList.length;i++) { if (window.eventList[i]==null) { wind

  • jQuery及JS实现循环中暂停的方法

    本文实例讲述了jQuery及JS实现循环中暂停的方法.分享给大家供大家参考.具体分析如下: 问题: jquery对数组进行循环,如果要求每次循环的时候暂停2秒钟,在使用jQuery的.earch循环的时候,无论怎么设置,都不会暂停. setTimeout也只是在第一次执行的时候暂停. 原因猜测: js开始执行多线程? 改进: 改为setInterval来控制循环,达到数组最大值的时候,clearInterval取消循环. 以下是jQuery代码: <script type="text/ja

  • 参考:关于Javascript中实现暂停的几篇文章

    Javascript顺序执行的实现:http://www.cnlei.org/blog/article.asp?id=297 JavaScript系列-同步还是异步:http://blog.iecn.net/blog/html/do-showone-tid-966.html Javascript中暂停功能的实现 :http://blog.csdn.net/snakegod/archive/2004/09/22/112810.aspx JavaScript Sleep函数 :http://blog

  • javascript中巧用“闭包”实现程序的暂停执行功能

    Author:月影  Form:http://bbs.51js.com/thread-66361-1-1.html <input type="button" value="继续" onclick='st();'/> <script> /*基本原理*/ var st = (function(){   alert(1);   alert(2); return function()   {     alert(3);     alert(4);  

  • 关于JS控制代码暂停的实现方法分享

    方法一:这是在网上找的一个方法,可以用.但说实话,这个方法我不怎么明白...写得好复杂.这样做跟setTimeout能有多大区别? 复制代码 代码如下: function Pause(obj, iMinSecond) { if (window.eventList == null ) window.eventList = new Array(); var ind = -1; for (var i = 0; i < window.eventList.length; i++) { if (window

  • javascript实现的像java、c#之类的sleep暂停的函数代码

    下面就是我的实现的方法: 代码 复制代码 代码如下: <script type="text/javascript"> function test() { var s="javascript--暂停函数"; setTimeout( function(){ eval(sleep(test)); //执行return之后的代码,也就是"alert(s);" }, 2000 ); //两秒后执行 return; //运行到这就退出 alert

  • Javascript中暂停功能的实现代码

    复制代码 代码如下: <script language="javascript"> /*Javascript中暂停功能的实现 Javascript本身没有暂停功能(sleep不能使用)同时 vbscript也不能使用doEvents,故编写此函数实现此功能. javascript作为弱对象语言,一个函数也可以作为一个对象使用. 比如: function Test(){  alert("hellow");  this.NextStep=function()

  • JS控制按钮自动切换背景颜色(可暂停)

    JS控制按钮自动切换背景颜色,可暂停_我们 .grigg{ position:relative; font-family:Verdana; font-size:16px;color:#ffffff; } y=" "; function colourWrite(){ y=document.bgColor; if (document.layers) {x=document.FM.box.value} if (document.all) {x=document.all.kurt.innerH

  • JS实现程序暂停与继续功能代码解读

    下面代码用JS实现了程序的暂停与继续 复制代码 代码如下: <script type="text/javascript"> /*Javascript中暂停功能的实现 Javascript本身没有暂停功能(sleep不能使用)同时 vbscript也不能使用doEvents,故编写此函数实现此功能. javascript作为弱对象语言,一个函数也可以作为一个对象使用. 比如: function Test(){ alert("hellow"); this.N

  • javascript如何实现暂停功能

    本文实例讲述了JS实现的自定义网页拖动类.分享给大家供大家参考,具体如下: Javascript本身没有暂停功能(sleep不能使用)同时 vbscript也不能使用doEvents,故编写此函数实现此功能. javascript作为弱对象语言,一个函数也可以作为一个对象使用. 比如: function Test(){ alert("hellow"); this.NextStep=function(){ alert("NextStep"); } } 我们可以这样调用

  • 使用JavaScript实现网页秒表功能(含开始、暂停、继续、重置功能)

    效果图展示,感觉不错可以参考实例代码. 具体代码如下所示: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document

  • Bootstrap实现带暂停功能的轮播组件(推荐)

    最近博主在项目中用到一款轮播组件,功能齐全,可以设置各种标题样式.动画效果.轮播时间.开始暂停等功能,在此推荐给大家,供大家参考. 一.效果展示 多说无益,来看一组效果展示图,感受一下! 1.先跟大家见个面,打个招呼 2.什么?切换太慢了?好,加快速度! 3.加入其他功能 4.图片太小,看不出效果?好,那来个大图感受下! 5.如果你不想要右上角的小图标,照样可以. 6.如果你对上述滑动效果不满意,组件提供了其他几种图片切换方式 淡入淡出 水平滑动 7.再来一张图片定位 二.组件介绍 Orbit是

  • 菜鸟蔡之Ajax复习第一篇(后台asp.net)(传统的JavaScript方法实现Ajax功能)

    其实最简单的可以理解为:JavaScript + XMLHttpRequest + CSS +服务器端的集合,其本质上是一种浏览器端的技术.好了, 简单的描述了一下,现在直接上代码吧! (1).功能描述: 新建两个html页面分别为1.html和2.html,在不刷新的情况下点击1.html页面上的"获取数据"按钮后,将2.html页中的内容显示在1.html页面的<div>标记中. (2).实现代码: 1.html实现代码: 复制代码 代码如下: <head>

  • JavaScript实现换肤功能

    一,js换肤的基本原理 基本原理很简单,就是使用 JS 切换对应的 CSS 样式表文件.例如导航网站 Hao123 的右上方就有网页换肤功能.除了切换 CSS 样式表文件之外,通常的网页换肤还需要通过 Cookie 来记录用户之前更换过的皮肤,这样下次用户访问的时候,就可以自动使用上次用户配置的选项. 那么基本工作流程就出来了:访问网页--JS 读取 Cookie --如果没有,使用默认皮肤--如果有,使用指定皮肤:用户点击换肤选项--JS 控制替换对应的 CSS 样式表--将皮肤选项写进 Co

  • 常用Javascript函数与原型功能收藏(必看篇)

    如下所示: // 重复字符串 String.prototype.repeat = function(n) { return new Array(n+1).join(this); } // 替换全部 String.prototype.replaceAll = function(str1, str2) { return this.replace(new RegExp(str1, "gm"), str2); } // 清除空格 String.prototype.trim = function

  • Javascript 实现计算器时间功能详解及实例(二)

    Javascript 计算器: 系列文章: JS 实现计算器详解及实例代码(一) Javascript 实现计算器时间功能详解及实例(二) Javascript计算器 -> 添加时间在屏显区左上角添加时间显示 效果图如下: 代码 初始化 // 计算器初始化 Calculator.prototype.init = function () { this.addTdClick(); // 时间显示 this.showDate(); }; 时间显示 // 在屏显区左上角显示时间日期 Calculator

随机推荐