JS 定时器 setTimeout 与 setInterval 的区别和用法
1、setTimeout
延迟执行,只执行一次,定时炸弹、炸了就没了
window.setTimeout(function(){要执行的事件},间隔时间毫秒);
2、setInterval
无限循环,每一次循环有间隔时间,一般不要小于20毫秒
它是有返回值的,可以用一个变量来接收这个定时器对象
window.setInterval(function(){要执行的事件},间隔的时间毫秒);
3、clearInterval
关闭定时器
window.clearInterval(要关闭的定时器对象);
一旦执行这句代码,会立刻停止此定时器对象的执行
4、offset
当前即时的对象的高度、宽带、位置,直接到浏览器上去找
var v = document.getElementById('a')
v.offsetWidth // 当前的宽带
v.offsetHeight // 当前的高度
v.offsetLeft //当前距离左侧位置
v.offsetTop //当前距离上方位置
v.offsetParent //当前起点位置
实例
例1、点击按钮,按钮本身的长度发生变化,并且位置移动
<input type="button" value="按钮" id="a" />
<script type="text/javascript">
var v = document.getElementById('a')
v.onclick = function () {
v.style.width = v.offsetWidth + + "px"; //长度改变
v.style.left = v.offsetLeft + + "px"; // 位置移动,位置发生改变时必须要有定位 +100向右移动,-100向左移动
}
</script>
例2、点击按钮,按钮本身的长度、位置持续变化
<input type="button" value="按钮" id="a" /> <script type="text/javascript">
var v = document.getElementById('a')
v.onclick = function () {
window.setInterval(function () {
v.style.width = v.offsetWidth + + "px";
v.style.left = v.offsetLeft + + "px";
}, )
}
</script>
例3、 在例2的基础上让定时器停下
<input type="button" value="按钮" id="a" /> <script type="text/javascript">
var v = document.getElementById('a')
v.onclick = function () {
var t= window.setInterval(function () { //先用 var t 接收 window.setInterval 的值,这个值就是定时器对象
if (v.offsetLeft >)
{
window.clearInterval(t)
}
v.style.width = v.offsetWidth + + "px";
v.style.left = v.offsetLeft + + "px";
}, )
}
</script>
5、计时器
<button id="btn_Phone" click="SetInter()">获取验证码</button>
<script type="text/javascript">
function SetInter() {
time = ;
$("#btn_Phone").attr("disabled", true);
var myset = setInterval(
function countDown() {
if (time === ) {
$("#btn_Phone").attr("disabled", false);
$("#btn_Phone").html("重新获取验证码");
clearInterval(myset);
return;
}
else {
time--; $('#btn_Phone').html(time + "秒后重新获取");
}
}, );
}
</script>
JS 定时器 setTimeout 与 setInterval 的区别和用法的更多相关文章
- setTimeout()和setInterval()的区别
JS学习 - setTimeout()和setInterval()的区别 相同点 setTimeout 和 setInterval的语法相同.他们都有两个参数,一个是将要执行的代码字符串,还有一个是以 ...
- setTimeout和setInterval的区别以及如何写出效率高的倒计时
1.setTimeout和setInterval都属于js中的定时器,可以规定延迟时间再执行某个操作,不同的是setTimeout在规定时间后执行完某个操作就停止了,而setInterval则可以一直 ...
- 【转】JS中setTimeout和setInterval的最大延时值详解
前言 JavaScript提供定时执行代码的功能,叫做定时器(timer),主要由setTimeout()和setInterval()这两个函数来完成.而这篇文中主要给大家介绍的是关于JS中setTi ...
- setTimeout与setInterval的区别
setTimeout与setInterval的区别:1.setTimeout设置后隔指定时间后只会执行一次2.setInterval设置后会每隔指定时间执行一次3.setTimeout一般在方法内部使 ...
- js,setTimeout与setInterval的用法
1.setTimeout与setInterval的区别 setTimeout: 1.直接使用的话,按照指定 的时间,只执行一次传入的函数参数. 2.函数的终止使用clearTimeout. setIn ...
- 定时器setTimeout()和setInterval()使用心得整理
JavaScript提供定时执行代码的功能,叫做定时器(timer),主要由setTimeout()和setInterval()这两个函数来完成. 一.setTimeout() setTimeout函 ...
- javascript中的两个定时函数setTimeOut()和setInterVal()的区别
js中经常性要用到间隔几秒或暂停几秒执行某个函数, 简单介绍我从网上收集到setTimeOut()和setInterVal()的区别1.setInterVal()介绍 1)定义 setInterval ...
- Javascript 笔记与总结(2-13)定时器 setTimeout 和 setInterval
定时器可以让 js 效果每隔几秒钟执行一次或者 n 秒之后执行某一个效果.定时器不属于 javascript,是 window 对象提供的功能. setTimeout 用法: window.setTi ...
- setTimeout()与setInterval()方法区别介绍
计时器setTimeout()和setInterval()两个都是js的计时功能的函数两个有些区别,下面为大家简单介绍下,希望对大家有所帮助 计时器setTimeout()和setInterval ...
随机推荐
- Shell 命令实现词频统计
杨贵福老师的方法 cat tr sed sort head 命令的综合使用方式1 $ cat pg11.txt |tr -cs A-Za-z\' '\n' |sed "/'/d"| ...
- 三、Kubernetes之深入了解Pod
1.yaml格式的Pod配置文件内容及注解 深入Pod之前,首先我们来了解下Pod的yaml整体文件内容及功能注解. 如下: # yaml格式的pod定义文件完整内容: apiVersion: v ...
- Idea14 生成webservices
一直为idea生成soap协议的webservices而纠结,当初做axis2的时候,用的是eclipse,用它的插件来生成.这次做短信平台,决定要换一下,因为eclipse用axis2生成的接口,会 ...
- nuget.org无法解析的办法
今天想学习ef框架,就着手安装最新的ef啦.可是遇到了问题,提示 未能解析此远程名称:'nuget.org' 就去上网找资料啦,发现原来是被墙了,表示无奈. 网上的资料提示,修改hosts文件或是dn ...
- .net 使用HtmlAgilityPack做爬虫
HtmlAgilityPack官网:https://html-agility-pack.net/?z=codeplex .net中使用HtmlAgilityPack做爬虫步骤: 1.在nuget中安装 ...
- jQuery小案例
Jquery例子1_占位符使用需求: 点击第一个按钮后 自动去check 后面是否有按钮没有选中, 如有则提示错误消息. <html> <head> <script ty ...
- [BZOJ2738]矩阵乘法(整体二分+二维树状数组)
整体二分+二维树状数组. 好题啊!写了一个来小时. 一看这道题,主席树不会搞,只能用离线的做法了. 整体二分真是个好东西,啥都可以搞,尤其是区间第 \(k\) 大这种东西. 我们二分答案,然后用二维树 ...
- cad2017卸载/安装失败/如何彻底卸载清除干净cad2017注册表和文件的方法
cad2017提示安装未完成,某些产品无法安装该怎样解决呢?一些朋友在win7或者win10系统下安装cad2017失败提示cad2017安装未完成,某些产品无法安装,也有时候想重新安装cad2017 ...
- 在Ubuntu下编译安装nginx
一.安装nginx 1.安装前提 a)epoll,linux内核版本为2.6或者以上 b)gcc编译器,g++编译器 c)pcre库,函数库,支持解析正则表达式 d)zlib库:压缩解压功能 e)op ...
- 【并发】2、AtomicReferenceFieldUpdater初体验
对于volatile对象的原子更新 AtomicReferenceFieldUpdater这个对象进行原子更新的时候,外部操作对象只能是public,因为外部访问不到private对象,但是在内内部确 ...