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 ...
随机推荐
- 迁移桌面程序到MS Store(6)——.NET Portability Analyzer
上一篇我们简单介绍了.NET Standard,本篇我们来实践.NET Framework 4.5 Class Library到.NET Standard 2.0的转换. 首先让我们来做 ...
- 手机app有了短信验证码还有没必要有图片验证码?
当然有必要,这里我们来聊一个恶意短信验证的案例,通过这个案例我们就能更好理解短信验证码和图片验证码这两者的关系了. 讨论防止恶意短信验证之前,我们先来看看什么是恶意短信验证及出现的原因. 恶意短信验证 ...
- [leetcode.com]算法题目 - Same Tree
Given two binary trees, write a function to check if they are equal or not. Two binary trees are con ...
- 值不能为 null。 参数名: source
今天调试程序总是报一个异常: 值不能为 null.参数名: source 异常详细信息: System.ArgumentNullException: 值不能为 null.参数名: source 通过断 ...
- 爬虫:Scrapy5 - 选择器Selectors
当抓取网页时,常见的任务是从HTML源码中提取数据.现有的一些库可以达到这个目的: BeautifulSoup lxml Scrapy 提取数据有自己的一套机制.它们被称作选择器(seletors), ...
- win10+Theano+GPU
1. cuda + cudnn 首先还是要先安装GPU库,具体和caffe安装中一样. 2. Theano 为防止下载速度慢,配置清华镜像 conda config --add channels ht ...
- requests请求例子
实例一: class GetSalerInfo(View): def post(self, request): userid = request.POST/GET.get('userid',None) ...
- Docker三剑客之常用命令
一.docker-machine 命令 说明 docker-machine create 创建一个 Docker 主机(常用-d virtualbox) docker-machine ls 查看所有的 ...
- centos clamav杀毒软件安装配置及查杀,没想到linux下病毒比windows还多!
centos clamav杀毒软件安装配置及查杀,没想到linux下病毒比windows还多! 一.手动安装 1.下载(官网) cd /soft wget http://www.clam ...
- java8之lambda表达式(2)-方法引用
方法引用使用的地方也是在函数式接口,使用方法引用可以使代码更加简单和便捷 在如下代码中 根据List中字符串长度排序的代码可以写成如下: public static void test1_() { L ...