第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 ...
随机推荐
- gitlab通过api创建组、项目、成员
前戏 获取gitlab中admin用户的private_token Groups API 获取某个组的详细 curl --header "PRIVATE-TOKEN: *********&q ...
- 计蒜客 Goldbach Miller_Rabin判别法(大素数判别法)
题目链接:https://nanti.jisuanke.com/t/25985 题目: Description: Goldbach's conjecture is one of the oldest ...
- parseInt函数
1.概念 解析字符串,返回一个整数 2.说明 接收两个参数:需要转化的字符串.需要解析的数字基数,介于2~36之间(若该值神略或为0,数字将以10为基数解析:若参数大于36或小于2则返回NaN) pa ...
- PHP序列化、反序列化常用的魔术方法
__wakeup() //使用unserialize时触发__sleep() //使用serialize时触发__destruct() //对象被销毁时触发__call() //在对象上下文中调用不可 ...
- python基础===中文手册,可查询各个模块
http://python.usyiyi.cn/translate/python_352/index.html
- C#数据没初始化,使用会报错,可以初始化null
protected void Page_Load(object sender, EventArgs e) { string[] A; if (B== 0) { A = new string[] {1, ...
- js中常用的数组方法
在数组的尾部增加或删除某个元素:push() 和 pop() push() : 在数组的尾部追加一个或多个元素,并返回数组的长度 pop():在数组的尾部删除一个元素,并返回被删除项 var arr ...
- Linq to SQL 小结
前天开始看这方面的资料,虽然看了网上对比 sql和linq的速度,万条数据可能要慢1/4左右的数度,但是介于的方便,还是学了 首先看看linq的基本语法: FROM XX IN DATASOURCE ...
- 23:django 信号(signal)
django包含了一个“信号分配器”使得当一些动作在框架的其他地方发生的时候,解耦的应用可以得到提醒.通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者,这是特别有用的设计因为有些 ...
- python_day7学习笔记
类 1)创建一个类 #coding=utf-8 __author__ = 'Administrator' class Employee: '所有员工的基类' empCount = 0 def __in ...