js自定义定时器的两种方法

自定义定时器的两种方法:
第一种方法:
定义函数:

function sleep(n){//n是传过来的毫秒数
	var start=new Date().getTime();//定义起始时间的毫秒数 
	while(true){
		var time=new Date().getTime();//记录当前时间
 		if(time-start>n){
		break; 
			 } 
		} 
}  

使用:

sleep(2000);

第二种方法
第二种是在业务的时候使用到jax,例如要做一个告警闪烁的功能。原理就是利用了ajax的complete属性的特性结合setTimeout()定时器去使用。
我个人比较喜欢这种,这种性能相对比较好一些(原因可参考setTimeout的性能原理)。
定义方法:

function getActiveAlarm(){
	$("#activeAlarm").css("color","#a6ccff");//这里设置闪烁的标签id
	setTimeout("activeAlrm()",1000);//延时一秒调用ajax的方法
}
 function activeAlrm(){
	 var param = {};//参数
	 param.no = no;
	 $.ajax({
		 url: "xkc/getalarm?i=" + Math.random(),
		 type: "get",
		 dataType: "json",
		 data: param,
		 success: function (data) {
			 if(data.length>0){
				 $("#activeAlarm").css("color","red");//这里设置标签变化的颜色
			 }
		 },
		 complete: function(){
			 setTimeout("getActiveAlarm()",1000);//ajax函数完成调用后执行原来的放大
		 }
	 });
 }

使用:

function getActiveAlarm();

补充,如果方法带变量的话,要用"+value+"进行设置value的变量即可

你可能感兴趣的:(前端,javascript,ajax,前端)