第8天-setInterval/setTimeout
setInterval是什么?
setInterval()方法重复调用一个函数或执行一个代码段,在每次调用之间具有固定的时间延迟。
setInterval(函数,间隔时间)
例如
function fn(){
document.write('hello world <br/>');
}
setInterval(fn, 1000); //注意函数名不能加()
获取随机数字
知识点:
开启定时器,会返回一个定时器id: timer = setInterval(函数,时间)
根据返回的id,清除该定时器: clearInterval(timer)
开启定时器之前,先清除之前的定时器
var oIpt = document.getElementById('ipt');
var startBtn = document.getElementById('start');
var stopBtn = document.getElementById('stop');
var timer = null;
//随机数方法
function getRandomInt(min, max){
return Math.floor(Math.random()*(max-min+1)+min);
}
//点击开始按钮, 表单不停的填入随机数
startBtn.onclick = function(){
//开始定时器之前,先清除之前的定时器
//如果不先清除,会出现,点击多次开始按钮,会生成多个定时器,而结束的时候,只能清除最后一个定时器,导致之前的定时器还在跑,停不下来
clearInterval(timer);
//定时器会返回一个id,这样后面我们就能通过通过timer知道是哪个定时器,然后进行清除
timer = setInterval(function(){
//获取20-40的随机整数
var randomInt = getRandomInt(20, 40);
//把随机数放入到表单中
oIpt.value = randomInt;
}, 100)
}
//点击结束按钮,清除定时器
stopBtn.onclick = function(){
clearInterval(timer);
}
获取随机数字
<button>切换背景</button>
<button>停止</button> <script>
var aBtn = document.getElementsByTagName('button');
var timer = null; aBtn[0].onclick = function(){
clearInterval(timer);
timer = setInterval(function(){
var randomInt = getRandomInt(1000, 1999);
document.body.style.background = "url(https://img.infinitynewtab.com/wallpaper/" + randomInt + ".jpg) no-repeat";
document.body.style.backgroundSize = "100%";
}, 1000)
} aBtn[1].onclick = function(){
clearInterval(timer);
} function getRandomInt(min, max){
return Math.floor(Math.random()*(max -min + 1) + min)
}
</script>
背景切换
第8天-setInterval/setTimeout的更多相关文章
- setInterval setTimeout 详解
JavaScript的setTimeout与setInterval是两个很容易欺骗别人感情的方法,因为我们开始常常以为调用了就会按既定的方式执行, 我想不少人都深有同感, 例如 setTimeout( ...
- requestAnimationFrame与setInterval,setTimeout
自打学习canvas动画以来,都说requestAnimationFrame好,就一直用,也没觉得有什么太过于特殊的地方,直到刚才,在写完前面的"小球碰撞墙壁----干掉误差"之后 ...
- js计时器方法 setInterval(),setTimeout()
window.setInterval() 周期性地调用一个函数(function)或者执行一段代码. var intervalID = window.setInterval(func, delay[, ...
- setInterval setTimeout clearInterval
setTimeout() 只执行 code 一次.如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout(). //第一次load的时候就先刷新一次 ...
- setInterval && setTimeout || 定时器
来自w3school的解释 定时器setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式. setInterval() 方法会不停地调用函数,直到 clearInterva ...
- setInterval(),setTimeout(),location.reload(true)
1,setInterval() setInterval()方法可以按照指定的周期来调用函数或表达式,他会不停地调用函数,直到调用clearInterval()方法或窗口关闭.由setInterval( ...
- setInterval/setTimeout传参方法
网上文章说有3种方法,对于我来说一种方法就够了: <script> var user_name='离间计' //定时器 异步运行 function hello(name){ alert(n ...
- 每日技术总结:setInterval,setTimeout,文本溢出,小程序,wepy
前言: 项目背景:vue,电商,商品详情页 1.倒计时,倒计到0秒时停止 data () { return { n: 10 } }, created () { let int = setInterva ...
- Javascript 的定时器 setInterval,setTimeout,clearInterval
今天开通博客.来1个.哇哈哈哈~~ 今天本来想复习BOM的看到定时器也算DOM一种 ?(是这样吗).分享一下 参考源于:八神吻你 http://www.cnblogs.com/lmfeng/archi ...
随机推荐
- uva10766生成树计数(矩阵树定理)
更正了我之前打错的地方,有边的话G[i][j]=-1; WA了好多次,中间要转成long double才行..这个晚点更新. #include<cstdio> #include<cs ...
- 安装magento配置完数据库后出现: PHP Extensions "0" must be loaded. 解决方案
打开magento目录下的该文件: app/code/core/Mage/Install/etc/config.xml 将下面该段修改: <mysql4> <type>pdo_ ...
- Android中TextView设置字体
最近项目中出现把字体设置成宋体,微软雅黑,黑体,楷体等的需求; 度娘发现Android系统默认支持三种字体,分别为:“sans”, “serif”, “monospace",除此之外还可以使 ...
- SpringCloud Fegin超时重试源码
springCloud中最重要的就是微服务之间的调用,因为网络延迟或者调用超时会直接导致程序异常,因此超时的配置及处理就至关重要. 在开发过程中被调用的微服务打断点发现会又多次重试的情况,测试环境有的 ...
- 常见网络命令之traceroute命令一起其他常用命令
备注:任何命令+/?就可以显示命令帮助,比如:ipconfig /?. traceroute命令 traceroute是UNIX系统中的名字,用来跟踪一个分组从源点到终点的路径.在Windows系统中 ...
- 【uva11613】生产销售规划
这很像之前做的一道noip模拟题…… 所以当时那题也可以用费用流写(雾) 拆点,将每个月拆成两个点,一个向起点连边表示产量,另一个点连汇点表示销量. 然后每个点依次往后面的点2连边,表示保存. #in ...
- linux sort排序命令
1 sort的工作原理 sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出. 2 sort的-u选项 在输出行中去除重复行. $ ...
- 20180104 wdcp中的mysql重启不成功
1.重启不成功是由于/www/wdlinux/mysql-5.5.54/data 中的ib_logfile0.ib_logfile1 和ibdata1的文件存在,可用netstat -lnpt查看当前 ...
- CocoaPods第三方类库依赖管理
安装cocoapods 1.移除ruby的源地址 gem sources --remove https://rubygems.org/ 2.添加ruby的源地址 gem sources -a ...
- List转换为DataTable List<Entity>
/// <summary> /// 将List转换成DataTable /// </summary> /// <typeparam name="T"& ...