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

2016-02-19 09:27 39 1 收藏

清醒时做事,糊涂时读书,大怒时睡觉,无聊时关注图老师为大家准备的精彩内容。下面为大家推荐javascript延时重复执行函数 lLoopRun.js,无聊中的都看过来。

【 tulaoshi.com - Web开发 】

function lLoopRun(sFuncLoop,sFuncEnd,nDelay) {
//writen by http://fengyan.iecn.cn

//sFuncLoop  字符串型,需要重复执行的Javascript函数或语句(多个函数或语句请用;分隔)  
//sFuncEnd  字符串型,用于中止重复执行动作(sFuncLoop)的Javascript函数或语句 
//nDelay  数字型,重复执行的时间间隔(毫秒数) 
 var vintervalId = null;
 var runString  = sFuncLoop;
 var stopString  = sFuncEnd;
 var delayTime  = nDelay;
 //var nCount = 0;//执行次数//为便于测试,应用时就将此行注释掉
 this._doLoop = function (){
   if (vintervalId && !eval(stopString)){
     eval(runString);
     //nCount++;//记录执行次数//为便于测试,应用时就将此行注释掉
   } else {
     window.clearInterval(vintervalId);
     vintervalId = null;
   }
   //document.getElementById("TestCount").innerHTML = nCount;//输出执行次数//为便于测试,应用时就将此行注释掉
 }
 window.clearInterval(vintervalId);
 vintervalId = window.setInterval(this._doLoop,delayTime);
}

几个实例代码:
水平往复运动: 

html 
head 
titlelLoopRun.js 应用实例:水平往复运动/title 
meta http-equiv="Content-Type" content="text/html; charset=gb2312" / 
meta name="Author" content="CnLei,枫岩" / 
style type="text/css" 
#IECN {position:absolute;} 
/style 
script type="text/javascript" src="lLoopRun.js"/script
/head 
body 
p执行次数:strong id="TestCount"0/strong/p
img id="IECN" src="http://bbs.iecn.net/attach-iecn/upload/7574.gif" style="left:0px;top:0px;" width="120" /
script type="text/javascript"
!--
function chgPos(sId,n){
 var o = document.getElementById(sId);
 o.style.left = (parseInt(o.style.left)+n)+"px";
}

function chgPosStop(sId,nMax){
 var o = document.getElementById(sId);
 if(parseInt(o.style.left)0){isReBack = false;}
 if(parseInt(o.style.left)nMax){isReBack = true;}
 if(isReBack) {
   nNum=-Math.abs(nNum);
 } else {
   nNum=Math.abs(nNum);
 }
}

var nNum=10;
var isReBack = false;
lLoopRun("chgPos(’IECN’,nNum);","chgPosStop(’IECN’,600)",20);
--
/script
/body 
/html 


自动伸缩大小: 
html 
head 
titlelLoopRun.js 应用实例:自动伸缩大小/title 
meta http-equiv="Content-Type" content="text/html; charset=gb2312" / 
meta name="Author" content="CnLei,枫岩" / 
script type="text/javascript" src="lLoopRun.js"/script
/head 
body 
p执行次数:strong id="TestCount"0/strong/p
img id="IECN" src="http://bbs.iecn.net/attach-iecn/upload/7574.gif" style="left:0px;top:0px;" width="120" /
script type="text/javascript"
!--

function chgPos(sId,n){
 var o = document.getElementById(sId);
 o.width = (parseInt(o.width)+n);
}

function chgPosStop(sId,nMax){
 var o = document.getElementById(sId);
 if(parseInt(o.width)10){isReBack = false;}
 if(parseInt(o.width)nMax){isReBack = true;}
 if(isReBack) {
   nNum=-Math.abs(nNum);
 } else {
   nNum=Math.abs(nNum);
 }
 //return parseInt(o.style.left)nMax || (parseInt(o.style.top)nMax-200);
}

var nNum=10;
var isReBack = false;
lLoopRun("chgPos(’IECN’,nNum);","chgPosStop(’IECN’,500)",20);
--
/script
/body 
/html 


垂直往复运动: 
html 
head 
titlelLoopRun.js 应用实例:垂直往复运动/title 
meta http-equiv="Content-Type" content="text/html; charset=gb2312" / 
meta name="Author" content="CnLei,枫岩" / 
style type="text/css" 
#IECN {position:absolute;} 
/style 
script type="text/javascript" src="lLoopRun.js"/script
/head 
body 
p执行次数:strong id="TestCount"0/strong/p
img id="IECN" src="http://bbs.iecn.net/attach-iecn/upload/7574.gif" style="left:0px;top:0px;" width="120" /
script type="text/javascript"
!--
function chgPos(sId,n){
 var o = document.getElementById(sId);
 o.style.top = (parseInt(o.style.top)+n)+"px";
}

function chgPosStop(sId,nMax){
 var o = document.getElementById(sId);
 if(parseInt(o.style.top)0){isReBack = false;}
 if(parseInt(o.style.top)nMax){isReBack = true;}
 if(isReBack) {
   nNum=-Math.abs(nNum);
 } else {
   nNum=Math.abs(nNum);
 }
 //return parseInt(o.style.top)nMax || (parseInt(o.style.top)nMax-200);
}

var nNum=10;
var isReBack = false;
lLoopRun("chgPos(’IECN’,nNum);","chgPosStop(’IECN’,300)",20);
--
/script
/body 
/html 


渐变显示(图片): 
html 
head 
titlelLoopRun.js 应用实例: 渐变显示效果/title 
meta http-equiv="Content-Type" content="text/html; charset=gb2312" / 
meta name="Author" content="CnLei,枫岩" / 
style type="text/css" 
body{background:#080;color:#fff;} 
#IECN { 
background:#fff; 
filter: Alpha(opacity=10); 
-moz-opacity:.10; 
opacity:.10;

/style 
script type="text/javascript" src="lLoopRun.js"/script
/head 
body 
p执行次数:strong id="TestCount"0/strong/p
img id="IECN" src="http://bbs.iecn.net/attach-iecn/upload/7574.gif" style="left:0px;top:0px;" width="120" /br /br /刷新再次查看演示效果
script type="text/javascript"
!--
function chgOpacity(sId,n){
 var o = document.getElementById(sId);
 if (o.filters) {
   o.filters[0].Opacity = parseInt(o.filters[0].Opacity) + n;
 } else {
   o.style.opacity= eval(document.defaultView.getComputedStyle(o,null).getPropertyValue(’opacity’)) + (n*100/10000);
 }
}

function chgOpacityStop(sId){
 var o = document.getElementById(sId);
 if (o.filters) {
   return parseInt(o.filters[0].Opacity)=99;
 } else {
   return eval(o.style.opacity)=0.99;
 }
}

lLoopRun("chgOpacity(’IECN’,1);","chgOpacityStop(’IECN’)",20);
--
/script
/body 
/html 


原文:http://fengyan.iecn.cn/blog-html-do-showone-uid-35653-type-blog-itemid-2320.html 

来源:http://www.tulaoshi.com/n/20160219/1590886.html

延伸阅读
标签: Web开发
这是一个特殊的内建函数eval包括了运算式子为其参数,运算元,并回传一个值. 这函数对于运算一个表示的数值字串而言非常有用,举例来看,从FORM所输入的值总是字串,但你也许想要拿来运算,那我该怎么办?? 下面的这一个例子包函了输入的文字栏位,应用的运算函数和显示结果的另一区块.假如你打了一个数值运算式在第一个栏位,并且按下了按...
标签: Web开发
函数为程序设计人员提供了一个非常方便的能力。通常在进行一个复杂的程序设计时,总是根据所要完成的功能,将程序划分为一些相对独立的部分,每部分编写一个函数。从而,使各部分充分独立,任务单一,程序清晰,易懂、易读、易维护。JavaScript函数可以封装那些在程序中可能要多次用到的模块。并可作为事件驱动的结果而调用的程序。从而实现...
标签: Web开发
函数为程序设计人员提供了一个丰常方便的能力。通常在进行一个复杂的程序设计时,总是根据所要完成的功能,将程序划分为一些相对独立的部分,每部分编写一个函数。从而,使各部分充分独立,任务单一,程序清晰,易懂、易读、易维护。JavaScript函数可以封装那些在程序中可能要多次用到的模块。并可作为事件驱动的结果而调用的程序。从而实...
//*********************************************************************** //函数名称:of_zy_yzfy for n_medicare_minihis //功能说明:医嘱录入后执行时提交医嘱 //函数参数: //   1.S_yb_zy_yzfy astr_jyxx 医嘱费用信息 //函数返回: (BOOLEAN)  //作者:annicybc  时...
VC函数中的延时操作 我在这里把论坛里能见到的几种延时方式总结一下。 COleDateTime  start_time = COleDateTime::GetCurrentTime();  COleDateTimeSpan  end_time = COleDateTime::GetCurrentTime() - start_time;  while(end_time.GetTotalSeconds()  =  2)  {    MSG&n...

经验教程

336

收藏

11

精华推荐

JS教程:匿名函数

JS教程:匿名函数

过眼云烟vvvv

javascript的函数

javascript的函数

颊俨撕铰谑

JavaScript中small函数

JavaScript中small函数

guyouwen789

微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部