当前位置: 首页 > news >正文

Javascript延时函数

2019独角兽企业重金招聘Python工程师标准>>> 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

相关文章:

  • yum源
  • 设计模式之四(抽象工厂模式第二回合)
  • ListView小知识整理:滑动背景、Item间隙等
  • 关于mysql_fetch_****
  • 生成新的内容如何获取当前生成内容的id
  • 锁分类
  • PXE 服务详解
  • 删除字符串中的空格
  • 反编译APK文件
  • 学习日记(一)----BaseActivity的写法
  • 【Android-View】点击侧滑菜单(SlidingMenu)按钮,更新主题内容时容易引发的内存问题解决方案...
  • MySQL正则表达式初步
  • ssh框架整合所需jar包
  • 【cocos2d-x从c++到js】21:使用CocosCode调试JSB
  • Linux下多线程下载工具 - Axel
  • JS 中的深拷贝与浅拷贝
  • AHK 中 = 和 == 等比较运算符的用法
  • CentOS7 安装JDK
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • fetch 从初识到应用
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • Redis在Web项目中的应用与实践
  • SpiderData 2019年2月23日 DApp数据排行榜
  • sublime配置文件
  • vue中实现单选
  • WinRAR存在严重的安全漏洞影响5亿用户
  • 创建一个Struts2项目maven 方式
  • 代理模式
  • 对象管理器(defineProperty)学习笔记
  • 计算机在识别图像时“看到”了什么?
  • 每天10道Java面试题,跟我走,offer有!
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 十年未变!安全,谁之责?(下)
  • 微信端页面使用-webkit-box和绝对定位时,元素上移的问题
  • 我从编程教室毕业
  • 项目管理碎碎念系列之一:干系人管理
  • 学习JavaScript数据结构与算法 — 树
  • 一些基于React、Vue、Node.js、MongoDB技术栈的实践项目
  • 源码安装memcached和php memcache扩展
  • Mac 上flink的安装与启动
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • (2015)JS ES6 必知的十个 特性
  • (day 12)JavaScript学习笔记(数组3)
  • (NSDate) 时间 (time )比较
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (二)JAVA使用POI操作excel
  • (二)Linux——Linux常用指令
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (力扣题库)跳跃游戏II(c++)
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (一) springboot详细介绍
  • (一)使用Mybatis实现在student数据库中插入一个学生信息
  • (已解决)报错:Could not load the Qt platform plugin “xcb“
  • (转)VC++中ondraw在什么时候调用的
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl