博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Javascript延时函数
阅读量:5926 次
发布时间:2019-06-19

本文共 1502 字,大约阅读时间需要 5 分钟。

hot3.png

Javascript提供了很多的延时函数,组合起来可以做出很多有意思的功能,这里主要使用3个,分别是:setInterval()setTimeout()clearInterval()

 

    首先是setInterval() 函数,setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。这是w3c组织官方的说明,也就是说,这个函数可以由开发者指定间隔时间循环的去执行一个函数或者表达式,它接受两个值,语法:window.setInterval("function",time);,这个函数非常有意思,可以使用这个函数配合AJAX做一个在线即时聊天系统。

 

    第二是setTimeout()函数,setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。这也是w3c组织官方的说明,也就是说,这个函数可以由开发者指定一个时间去执行一个函数或者表达式,但是记住,这句话里没有“周期”两个字,所以,它是只执行一次的。语法:window.setTimeout("function", time);

 

    第三是clearInterval()函数,clearInterval() 方法可取消由 setInterval() 设置的 timeoutclearInterval() 方法的参数必须是由 setInterval() 返回的 ID 值。这两句话都是w3c组织官方的说明。它能够取消setInterval()函数的执行,它只接受一个值,并且这个值必须得是setInterval()函数返回的。语法:clearInterval()

 

下面给一小段我通过百度地图开发获取实时车辆位置功能的代码(根据实际情况,删减了一部分代码):

var intX;// 定义setInterval方法的返回值

intX = window.setInterval('getPosition()',2000);// 每隔2秒去执行一次getPosition方法

window.setTimeout('Stop()', 10000);// 10秒后执行Stop方法停止setInterval函数

 

// 停止setInterval函数方法

function Stop(){

window.clearInterval(intX);

}

function getPosition(){

$.ajax({

   url:'userTest/getPosition',

type:'GET',

data: "id="+"${id}",

contentType: "application/x-www-form-urlencoded; charset=utf-8",

success:function(data){

var map = new BMap.Map("container"); 

var point = new BMap.Point(data);  

map.centerAndZoom(point, 15);   

map.addControl(new BMap.MapTypeControl());

map.enableScrollWheelZoom();

var markerhead = new BMap.Marker(point);    

map.addOverlay(markerhead);    

window.clearInterval(intX); // 定位后停止setInterval函数的执行

}

});

};

转载于:https://my.oschina.net/hehongbo/blog/207599

你可能感兴趣的文章
为VMware虚拟主机添加新磁盘
查看>>
Mysql身份认证漏洞及利用(CVE-2012-2122) 补充测试用例
查看>>
12c分页查询特性FETCH FIRST ROWS,OFFSET ROWS FETCH NEXT ROW LIMIT Clause子句
查看>>
JAVA 排序工具类
查看>>
玩转 Linux 之:磁盘分区、挂载知多少?
查看>>
PHP中file_put_contents()函数的兼容性问题
查看>>
python_getopt解析命令行输入参数的使用
查看>>
phpstorm config include paths for swoole
查看>>
Xtrabackup备份MySQL
查看>>
Serv-U服务器的管理3
查看>>
Linux两块磁盘挂载指向一个文件夹LVM磁盘管理(一)
查看>>
使用putty连接linux
查看>>
CentOS7.2 忘记root密码解决
查看>>
nagios监控haproxy(借助脚本)
查看>>
在Esxi 5.1虚机中安装OEM服务器系统
查看>>
CentOS 安装NTFS-3G,让系统支持NTFS分区的方法
查看>>
linux samba服务器
查看>>
Python统计列表中的重复项出现的次数的方法
查看>>
为什么Docker是云计算必然的现在和未来
查看>>
centos7 kickstart 使用小结
查看>>